我想在onclick時禁用提交按鈕。即時通訊能夠禁用按鈕,但我不能提交後值到PHP。onclick停用提交按鈕
回答
我發現了一個替代方案的在線。我做的是創建一個虛假的禁用和隱藏按鈕。當實際的按鈕被點擊時,我會隱藏它並顯示假的禁用按鈕。
實際的按鈕:
$onclick = "
var boolconfirm = confirm('$strconfirmattempt');
if(boolconfirm==true){
finishattempt.style.display='none';
finishattempt2.style.display='inline';
}
return boolconfirm;";
假按鈕:
echo "<input type=\"submit\" name=\"finishattempt\" value=\"submit\" onclick=\"$onclick\" />.
<input type=\"submit\" id=\"finishattempt2\" name=\"finishattempt2\" value=\"submit\" style=\"display:none;\" DISABLED/>\n";
更好地設置你的代碼的格式。它不應該在這樣一個難以理解的塊中。一旦你格式化了它,突出顯示代碼並點擊Ctrl + K,這會將所有內容縮進4個空格,使其顯示爲預格式化的源代碼。 – 2010-07-06 14:26:16
+1用於查找可行解決方案並格式化您的代碼。儘管將來您可能希望將代碼分解爲更多行,以便不出現水平滾動條。但是,它已經比以前看起來好了100倍。 – 2010-07-06 14:40:18
哈哈好吧。我會嘗試下次更好地格式化它。 – nuttynibbles 2010-07-06 14:40:25
<input type="submit" onclick="this.disabled = true" value="Save"/>
或ref this
嗨,這個工程,但如果我wanan提交到PHP,POST值缺失。然而,我發現了一個替代解決方案,我將在下面發佈。隨時對此發表評論。 – nuttynibbles 2010-07-06 14:19:04
如果已完成,則該值不會通過後期保留。 – Polaris878 2010-07-06 14:45:11
如果禁用的輸入,那麼它的價值自然不會被列入表單數據。您需要在您提交之後禁用按鈕。如果將回調綁定到onclick
,則它會在之前運行表單提交。
你需要的是這樣的:
的jQuery:
$(document).ready(function() {
$(document).unload(function() {
$('#submit-btn').attr('disabled', 'disabled');
});
});
定期JS:
document.onunload = disableSubmit;
function disableSubmit() {
/* disable the submit button here */
}
基本上,而不是綁定到提交按鈕的onclick
事件,這將禁用代碼綁定到文檔的卸載事件( document.onunload
),一旦表單被提交併且你開始離開頁面,它就會被觸發。
添加一些關於你的代碼是如何的jQuery和不老舊的JS – Polaris878 2010-07-06 14:42:04
啊,是的,我已經提到,第一個片段是我的編輯中的一個jQuery,但我認爲我意外刪除它。 – 2010-07-06 14:49:53
你可以使用一個隱藏字段將舉行按鈕的價值和拉該值你的POST數據:
<input type="hidden" id="hiddenField" value="default" />
<input type="button" id="myButton" onclick="buttonClick();">
function buttonClick()
{
document.myForm.myButton.disabled = true;
document.myForm.hiddenField.value = "myButtonClicked";
}
我的PHP是一個有點生疏,但你可以訪問隱藏字段像這樣:
if ($POST['hiddenField'] == "myButtonClicked")
{
// Click handling code here
}
爲什麼不創建禁用的提交按鈕被隱藏,並積極提交按鈕,顯示的onClick殘疾人和隱藏活躍?我可以在jQuery中做到這一點,但如果沒有它,我就沒用。傷心,呃?
使用jQuery的加入onclick處理程序返回false:
<input type="submit" value="Submit" onClick="$(this).click(function() {return false;});"/>
我用簡單的jQuery解決了這個問題。代碼刪除點擊按鈕,然後附加假按鈕或一些像「加載..」文本,並最終發送表單。
HTML:
<div class="holder"><input type='submit' value='ACCEPT' class='button'></div>
的jQuery:
$('.button').click(function() {
$('.button').remove();
$('.holder').append("//fake input button or whatever you want.");
$('.form').submit();
});
與其他方法一樣卸載在一個瞬間,你點擊發送表單的按鈕變化性差異。沉重的形式,我認爲是一個更好的做法。
- 1. onclick事件提交按鈕
- 2. 的onclick提交按鈕JSP
- 3. onclick提交按鈕錨到div
- 4. 提交按鈕不響應Onclick
- 5. 防止按鈕提交表單的onclick
- 6. 表單提交按鈕onClick JavaScript函數
- 7. jquery單選按鈕提交值onclick
- 8. 添加onclick函數到提交按鈕
- 9. ASP提交按鈕的onclick/_doPostBack
- 10. onclick在提交按鈕中有href
- 11. 停止按鈕從提交然後使用JavaScript提交表單
- 12. 停止提交按鈕從提交使用JQuery
- 13. 提交按鈕上懸停不工作
- 14. 提交不提交按鈕
- 15. 提交按鈕不提交
- 16. 提交按鈕不提交
- 17. 提交按鈕不提交
- 18. 提交按鈕
- 19. 按鈕Href按按鈕提交按鈕
- 20. 在提交後禁用提交按鈕
- 21. 使用JavaScript提交HTML,提交按鈕
- 22. 提交後啓用提交按鈕
- 23. 形式不鍍鉻如果提交表單提交按鈕被禁用的onclick
- 24. 如何提交HTML表單onClick我們使用提交按鈕或輸入
- 25. 表單未按提交按鈕提交
- 26. 用提交按鈕的形式提交表單與幾個提交按鈕
- 27. ASP.NET OnClick/OnClientClick - 如果提交按鈕被禁用,則會中斷
- 28. 使用asp.net按鈕的onclick方法,而不是提交表單
- 29. 表單提交按鈕onclick不會調用我的JS功能
- 30. 禁用表單按鈕的onClick,然後提交表單
您可能想要展示如何禁用它。用你提供的小信息來幫助你是不可能的。 – 2010-07-06 13:23:49
很好看我以前發佈的問題,我似乎無法在這裏找到很好的答案。所有我看到的是人們在討論ajax vs iframe。所以請告訴我那裏的反饋。 – nuttynibbles 2010-07-06 14:13:28
嗨丹尼爾,我會在下面顯示我的代碼。隨時發表評論。 tks – nuttynibbles 2010-07-06 14:19:45