2014-01-30 39 views
0

我想在網頁上強制選擇字段。我知道如何做到這一點與JS的幫助和形式屬性'onsubmit'並返回該函數。但問題是,表單代碼已經寫好,現在我不知道如何添加屬性。讓我知道如果我可以從JS動態追加屬性。 我嘗試的另一種方法是在頁面加載後調用JS。但是這不是使該字段成爲強制性的,並且可以提交表單。 以下是我的代碼..使一個字段強制使用javascript

 <!DOCTYPE html> 
     <html> 
     <head> 
     <script> 
     function f1() 
     { 
      var countryValue = document.getElementById('count ID').value; 

    if (countryValue == "") 
    { 
      alert("field value missing"); 
     return false; 
    } 
    var stateValue = document.getElementById('state ID').value; 
    if (stateValue == "") 
    { 
      alert("state field value missing"); 
     return false; 
    } 
} 

     </script> 
    </head> 
    <body> 
    <form method = "post" action = "33.html"> 
    Country: <input type="text" id="count ID"> 
    state: <select id="state ID"> 
      <option></option> 
        <option value="ap">ap</option> 
        <option value="bp">bp</option> 
        </select> 
    <br> 
    <input type = "submit"> 
    </form> 
    <script>window.onload=f1</script> 

      </body> 
      </html> 

請幫助。

+0

如果(thereIsAnError()){myButton.disabled =真} – bjb568

+0

你對你的ID – HTTP

回答

0

看一看這一點,因爲你已經搞砸了的ID

Live Demo

window.onload=function() { 
    document.forms[0].onsubmit=function() { // first form on page 
    var countryValue = this.elements[0].value; // first field in form 
    if (countryValue == "") { 
     alert("Please enter a country"); 
     return false; 
    } 
    var stateIdx = this.elements[1].selectedIndex; // second field 
    if (stateIdx < 1) { // your first option does not have a value 
     alert("Please select a state"); 
     return false; 
    } 
    return true; // allow submission 
    } 
} 

PS:很可能發佈到HTML頁面會給你一個錯誤

要獲得最後一個按鈕做提交

window.onload=function() { 
    var form = document.forms[0]; // first form 
    // last element in form: 
    form.elements[form.elements.length-1].onclick=function() { 
    ... 
    ... 
    ... 
    this.form.submit(); // instead of return true 
    } 
} 
+0

有空間,謝謝。這很有幫助。現在我的表單並沒有提交btn,而是通過 驗證在這種情況下,如何調用JS函數? –

0

一旦你得到了一個功能檢測不正確的值(空必填字段或其他任何東西,像一個壞的e-mail地址爲例),你有幾個不同的選擇:

  • 禁用提交按鈕
  • 取消按鈕上的onclick事件
  • 取消形式

上提交事件禁用提交按鈕,可惱人的用戶(它可能會閃爍並f,同時輸入值)。

0

我也一樣是起訴,但我做了延期。使用鉤子系統將名稱中帶有「*」的字段翻譯爲需要的字段進行驗證。這是一個簡單的解決方案,不需要添加數據庫中的字段,只需在配置自定義字段時使用sufix「*」即可。

有代碼:https://github.com/voiski/bugzilla-required-field

相關問題