HTML5验证不起作用在OnChange上选择框表单提交

时间:2014-07-25 08:44:46

标签: javascript jquery html html5 forms

HTML5验证无效On On 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>

这是条件在更改表单提交时没有验证其他选择框。 请帮忙 。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

编辑:多一点解释。

这样,表单无法提交,因为“selected”值实际上是“”(空),“required”属性不允许;当用户更改选择时,由于“禁用”属性,无法再次选择默认值。