setCustomValidity的自定义错误,避免提交表单

时间:2017-05-17 15:20:14

标签: javascript html css forms

我在自定义表单上显示的错误时遇到问题。这是有问题的代码:

<html>
<body>
    <form action="/done.html">
        <input type="text" id="query" name="query" 
               required 
               oninvalid="this.setCustomValidity('What ?')">
        <input type="submit">
    </form>
</body>
</html>

如果我在输入中输入内容,表单会毫无问题地提交。但是,如果我只按提交,那么即使输入已经填写,也无法再次提交!

我必须添加onkeypress="this.setCustomValidity('')"

为什么setCustomValidity一段时间后不会自动清除?还有另一种没有大量js的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我看到你的问题是,当你提交没有数据的表单时,它会停止工作,并且用一个空字符串执行setCustomValidity函数是有效的。

基于此解决方案可能是在您的表单上添加onsubmit="setCustomValidity('')",以便每次提交表单时重新启动。

我无法告诉你,因为我不知道setCustomValidity正在做什么功能。所以,试着告诉我它是否有效。