2014-01-30 42 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

相关问题