我需要通過一個web窗體向cgi腳本提交一個輸入字段值。如何排除提交的HTML表單單選按鈕值?
我已經添加了一些額外的表單控件(複選框和單選按鈕),它們根據所選狀態操縱輸入值。
當提交表單時,額外的表單字段值也會被提交,這會破壞cgi腳本(我無權訪問)。我從複選框中刪除了'name'屬性,因此它們沒有被提交,但是無法爲單選按鈕執行此操作,因爲它會打斷它們的分組。
如何防止提交單選按鈕值?
我需要通過一個web窗體向cgi腳本提交一個輸入字段值。如何排除提交的HTML表單單選按鈕值?
我已經添加了一些額外的表單控件(複選框和單選按鈕),它們根據所選狀態操縱輸入值。
當提交表單時,額外的表單字段值也會被提交,這會破壞cgi腳本(我無權訪問)。我從複選框中刪除了'name'屬性,因此它們沒有被提交,但是無法爲單選按鈕執行此操作,因爲它會打斷它們的分組。
如何防止提交單選按鈕值?
您可以在submit
處理程序中爲它們添加disabled
屬性,這可以防止它們被jQuery或正常的<form>
提交序列化。例如:
$("#myForm").submit(function() {
$(this).find(":radio, :checkbox").attr("disabled", true);
});
或者你也可以.serialize()
只有你想要的元素,例如:
$.post("myPage.cgi", $("#myForm input[type=text]").serialize());
讓他們 「不成功」。有幾種方法來實現這一目標: http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2
謝謝安德烈。有用的頁面。 – pelms 2010-11-08 16:35:27
也可以有兩種不同的形式:一個有可見的形式元素和一種具有隱藏input
表示要提交的最終結果。您可以將onchange
處理程序附加到可見表單元素,以便它們調用某個JavaScript來更新不可見字段,或者可以作爲onsubmit
處理程序的一部分運行函數,以便在提交之前直接設置不可見值。
這裏有一個展示的jsfiddle第二種方法(該onsubmit
處理程序):http://jsfiddle.net/gtU4J/
也做了工作。謝謝。 – pelms 2010-11-08 16:25:22
對於jQuery 1.6+,它應該是'.prop('disabled',true)'。 – 2014-03-12 12:25:02