Javascript 清除html5表单错误

Javascript 清除html5表单错误,javascript,html,forms,validation,Javascript,Html,Forms,Validation,当使用html5表单验证时,似乎无法从中清除错误状态。 问题出在所需的单选按钮组上。当尝试在未选择单选按钮的情况下提交时,它将突出显示所有收音机作为错误。 然后,当我选择1收音机时,错误消失,但当执行from.reset()清除所选收音机时,由于未选择任何收音机,因此将生成错误 我找不到办法来回避这个问题。我尝试使用setCustomValidity(“”),但没有成功。 此外,暂时禁用验证并重新启用它也将不起作用 因为唯一的方法是从dom中完全删除并重新生成它。 仅删除单选按钮并重新生成它们将

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

我找不到办法来回避这个问题。我尝试使用setCustomValidity(“”),但没有成功。 此外,暂时禁用验证并重新启用它也将不起作用

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

有什么想法吗

参见小提琴:
不要选择选项,然后按“下一步”。然后按复位。在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>

我自己也在寻找一个优雅的解决方案,但到目前为止,还没有聪明人回答这个问题,所以我必须提供这个不优雅的解决方案:

<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">


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

我自己正在寻找一个优雅的解决方案,但到目前为止,还没有任何聪明人回答了这个问题,因此我必须提供这个不优雅的解决方案:

<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">


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

请显示您的标记和代码。添加了fiddle。请查看。请显示您的标记和代码。添加了fiddle。过来看。