2012-10-16 60 views
0

可能重複:
How to prevent submitting the HTML form’s input field value if it empty空元素傳遞給URL

如果我有三件輸入表單和一個提交按鈕。

表1個ID:書
表2編號:音樂
表3 ID:電視

說我把「第一冊」書中領域,「Music1」在音樂領域,並沒有在電視

http://url/search/?book=Book1&music=Music1&tv= 

什麼情況是,即使是沒有在「電視」領域,「&電視=」仍然被附加到URL:場,我會得到這個URL。有沒有什麼辦法可以阻止這種情況,或者這是標準的瀏覽器行爲?

回答

1

這是由於瀏覽器的行爲,正如在this answer中所說的那樣。

要「克服」這種默認行爲,您將不得不使用客戶端腳本。最簡單的方式非侵入我能想到的是添加此頁面上:

<script type="text/javascript"> 
window.onload = function() { 
    for (var i = 0; i < document.forms.length; i++) { 
     var oForm = document.forms[i]; 
     oForm.onsubmit = function() { 
      for (var j = 0; j < this.elements.length; j++) { 
       var element = this.elements[j]; 
       if (element.type === "text" && element.value === "") 
        element.disabled = true; 
      } 
     }; 
    } 
};​ 
</script> 

提交表單時,導致瀏覽器不爲他們發送的任何值這將自動禁用任何空白文本框。

Live test case

1

這是標準和合乎邏輯的行爲。 「沒有價值」與「空值」不一樣。