2013-10-09 33 views
0

我試圖防止單擊兩次窗體的保存按鈕。當我在表單的標籤中設置onsubmit='save.disabled=true'時,該按鈕在提交時被禁用,但POST數據不再包含「保存」鍵和值。由於表單上有多個按鈕,因此我需要知道哪個按鈕被點擊。有沒有這種副作用禁用保存按鈕的另一種方法?使用onsubmit來禁用按鈕在POST中失去按鍵/值

<form method='post' action='dosomething.php?' enctype='multipart/form-data' onsubmit='save.disabled=true'> 
    ... input types & Other buttons ... 
    <input type='submit' name='save' value='Save'> 
</form> 
+0

看看http://stackoverflow.com/a/2155126/87956 –

+0

看來這個答案是特定於asp的。但它確實給了我一個想法,即不是每次更改按鈕的值,都可以在每次單擊按鈕時更改按鈕的「名稱」屬性,以便我可以識別它是否爲Save,Save1,Save11 ... – mseifert

+0

爲什麼不隱藏按鈕而不是禁用它? – bksi

回答

0

您可以在禁用之前爲其他變量指定您點擊的按鈕的值嗎?沿線的東西:

$('#submit').click(function() { 
    $('#form').append("<input type='hidden' name='" + $(this).attr('name') + "' value='"+ 
        $(this).attr('value')+ "' />"); 
    $(this).attr("disabled", true); 
    $('#form').submit(); 
    }); 
+0

爲什麼你確定他使用jQuery? – bksi

+0

我不使用jQuery,但我能夠接受並翻譯它,我使用了createElement()並設置了所有屬性。好想法。謝謝! – mseifert

+0

是的,它並不真的需要jquery,這可以在core中完成。我只是舉一個例子。 –

0

爲什麼只是不隱藏按鈕。當您禁用表單元素時,它不會出現在$ _POST中。

<form method='post' action='dosomething.php?' enctype='multipart/form-data' onsubmit='save.style["visibility"] = "hidden"'> 
     ... input types & Other buttons ... 
     <input type='submit' name='save' value='Save'> 
    </form> 
+0

我需要保存按鈕出現在$ _POST,所以我知道哪個按鈕被按下。 – mseifert