好吧,這不是一個問題,而只是為了我的信息(因為我可以想到大約4 種不同的解決方法可以使其工作。但是我有一個表單(沒什麼特別的),但是提交按鈕有與之相關的特定值。
<input type='submit' name='submitDocUpdate' value='Save'/>
提交表單後,我會檢查該名稱。
if(isset($_POST['submitDocUpdate'])){ //do stuff
但是,有一次我嘗試透過 Javascript 提交表單,而不是提交按鈕。
document.getElementById("myForm").submit();
除了 1 個問題外,一切正常。當我查看透過 javascript 方法提交的 $_POST 值時,它不包括 SubmitDocUpdate。我獲得了表單的所有其他值,但沒有獲得提交按鈕值。
就像我說的,我可以想出幾種方法來解決它(使用隱藏變量,檢查另一個表單變量上的isset 等),但我只是想知道這是否是Submit() 的正確行為,因為對我來說這似乎不太直觀。提前致謝。
使用 jQuery 1.0 或更高版本:
#$('input[type="submit"]').click();
當我偶然發現這篇文章時,我實際上正在解決同樣的問題。不帶任何參數的 click() 會在您選擇的任何元素上觸發點擊事件: http://api.jquery.com/click/
是的,這是
的正確行為HTMLFormElement.submit()
未發送提交按鈕值的原因是 HTML 表單的設計是為了發送被點擊(或以其他方式啟動)的提交按鈕的值。這允許每個表單有多個提交按鈕,例如您需要「預覽」和「儲存」操作的場景。
由於您以程式設計方式提交表單,因此在單一提交按鈕上沒有明確的使用者操作,因此不會發送任何內容。