2011-07-09 14 views
0

我有一個表格,像這樣:的形式禁止jQuery UI的按鈕提交

<form action="" method="post" id="form" name="form" enctype="multipart/form-data"> 
<input name="action" type="submit" value="Send" /> 
</form> 

我使用的是最新版本的jQuery UI的按鈕插件。提交按鈕的值必須被提交。是否有一種簡單的方法可以在提交表單後禁用提交按鈕,而無需使用其他插件,如「鎖定提交」 - http://plugins.jquery.com/project/LockSubmit

非常感謝。

+1

我認爲,當它被禁用的形式將不會發布的提交按鈕的值。這是問題嗎? –

+0

是的 - 我認爲唯一可行的方法是使用鎖定提交,但我只是想知道是否爲此提供了Jquery UI庫。 – David

回答

3

當您設置元素的禁用屬性時,它不會被提交。解決方法是在表單提交後設置禁用的屬性。您可以使用setTimeout()功能用很短的延遲:

$("#form").submit(function() { 
    setTimeout(function() { 
     // .prop() requires jQuery 1.6 or higher 
     $("#form :submit").prop("disabled", true); 
    }, 100); 
}); 

Demo here

還有一個竅門,就是用一招:)你可以用原來提交一個div內部按鈕和隱藏當窗體提交。

Demo here

+0

我決定與「詭計」選項一起使用,因爲它基本上與「鎖定提交」做同樣的事情,沒有使用他們的庫的麻煩。 – David

0

你的意思

$('#form').submit(function() {$(this).find('input:[type="submit"]').button({disabled:true})}); 

0
$('#form').submit(function() { 
    $(this).find('input[type="submit"]').disable(); 
}); 
3

容易只需添加類型=「按鈕」按鈕屬性 像

<button type="button" >not submit</button>