【问题标题】:Clear html5 form error清除 html5 表单错误
【发布时间】:2013-02-21 12:23:29
【问题描述】:

当使用 html5 表单验证时,似乎不可能从中清除错误状态。 问题出在所需的单选按钮组上。当尝试在未选择单选按钮的情况下提交它时,它会将所有单选都突出显示为错误。 然后,当我选择 1 个收音机时,错误消失,但是当执行 from.reset() 将清除所选收音机时,由于没有选择收音机,因此会产生错误。

我没有找到规避这一点的方法。我试过使用 setCustomValidity('') 但没有用。 同样暂时禁用验证并重新启用它也不起作用。

因为唯一的方法是从 dom 中完全删除并重新生成它。 仅删除单选按钮并重新生成它们将不起作用(至少具有相同的 ID)。

有什么想法吗?

见小提琴:http://jsfiddle.net/KDkvE/
不要选择一个选项,然后按“下一步”。然后按重置。在 Firefox 中,这不会清除单选按钮周围的红色边框。

<form>
<option name='test' type='radio' value='1' required/>
<option name='test' type='radio' value='2' required/>

<input type="submit" name="submitbutton" id="submitbutton" value="next">
<input type='reset' value='Reset'/>
</form>

【问题讨论】:

  • 请出示您的标记和代码。
  • 添加了小提琴。看看吧。

标签: javascript html forms validation


【解决方案1】:

我自己正在寻找一个优雅的解决方案,但到目前为止还没有聪明的人回答它,我将不得不提供这个不优雅的解决方案:

<input type="radio" name="radio_button_name" onclick="for(i=0;i&lt;this.form[ this.name ].length;i++){ this.form[ this.name ][i].setCustomValidity('') }" oninvalid="custom validation message">

问题似乎是您需要为每个单选按钮重置验证自定义消息,而不仅仅是您单击的那个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-22
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多