2014-07-25 48 views
1

HTML5验证无效OnChange选择框表单提交。HTML5验证无效OnChange选择框表单提交

如果我有使用提交按钮验证工作, 但我需要onChange表单提交和HTML%验证

<form action="do.php" method="post"> 
    <select id="myselect" name="myselect" onchange="this.form.submit()" required=""> 
     <option value=""> 
      select 
     </option> 

     <option value="1"> 
      One 
     </option> 

     <option value="2"> 
      Two 
     </option> 

     <option value="3"> 
      Three 
     </option> 

     <option value="4"> 
      Four 
     </option> 
    </select> <select id="myselect2" name="myselect2" onchange="this.form.submit()" required=""> 
     <option value=""> 
      select 
     </option> 

     <option value="5"> 
      five 
     </option> 

     <option value="6"> 
      six 
     </option> 

     <option value="7"> 
      seven 
     </option> 
    </select> 
</form> 

这情况在变化形式提交了验证其他选择框。 请帮忙。

回答

0

您可以使用此'hack'http://jsfiddle.net/MGhA7/

您指定<select required="required">因此值不能为空,然后添加<option value="" selected disabled>empty</option>,因此默认值为空,不能再次选择。

编辑:多一点解释。

这样,表单不能被提交,因为“selected”值实际上是“”(空),这是“required”属性所不允许的;并且当用户改变选择时,由于“禁用”属性,不能再选择默认值。

1

仅当使用HTML构造提交表单时才适用HTML5验证。如果使用脚本提交,则不会进行HTML5验证。因此,您需要在JavaScript中编写自己的验证码。

参考:HTML5 LC,4.10.22.3 Form submission algorithm,其中第4项列出了执行验证的条件,包括未设置“从submit()方法标志提交”的要求。