javascript - HTML5 'required' 表单重置时留下无效的伪类

标签 javascript jquery html forms

我有一个使用 HTML5“必需”验证的表单,我发现如果您尝试在 IE 中提交表单,输入会以红色突出显示并带有无效的伪类 - 没问题。

如果我随后完成表单并通过 AJAX 提交,然后在成功时发出 form.reset(),无效的伪类将重新应用于表单元素,以红色突出显示所有“必需”输入?

如何重置/清除整个表单,包括无效的伪类?

最佳答案

我发现这是跨浏览器的理想解决方案。

只需将 novalidate 属性添加到表单,重置表单,然后将其删除 - 简单!

$('#my_form').attr('novalidate','novalidate');
$('#my_form').get(0).reset();    
$('#my_form').removeAttr('novalidate');

更新:好的,休斯顿,我们有问题....

它已经解决了 IE 中的问题,但现在它在 Firefox 中引起了问题!

在 Chrome 和 Opera 中运行良好。

当从表单中删除 novalidate 属性时,为什么 FF 运行验证检查?

不理想,但我想我可以一直使用...

if(/trident/i.test(navigator.userAgent))
{
    $('#my_form').attr('novalidate','novalidate');
    $('#my_form').get(0).reset();
    $('#my_form').removeAttr('novalidate'); 
}
else
{
    $('#my_form').get(0).reset(); 
}

欢迎任何其他建议。

关于javascript - HTML5 'required' 表单重置时留下无效的伪类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24040902/

相关文章:

javascript - 正则表达式与预期符号不匹配

javascript - 带有缓动功能的 jquery 幻灯片放映/循环不起作用

javascript - 如何使 DOM 元素的高度可调整大小?

javascript - 从 html 字符串中获取列值 - Javascript

javascript - 动态指令元素在从服务中预填充数据时失败

jQuery:一键触发多个事件

html - 使用 CSS 设计表格样式

html - 列表中的图像链接位置奇怪

javascript - HTML 元素类是否应该根据其用途使用前缀?

javascript - 清除所有打开的 div