繁体   English   中英

IE-如何在提交表单后从输入中禁用验证检测?

[英]IE - How to disable validation detection from input after submitting the form?

我有一个输入,要求用户输入有效的电子邮件,然后在提交时清除输入
IE中出现问题,如果用户一次提交了无效的电子邮件,即使输入了有效的电子邮件之后,由于已清除输入,检测反馈(红色边框)仍然存在。
提交有效输入后,有什么方法可以停止验证?

 const form = document.querySelector('form'); const input = document.querySelector('input'); form.addEventListener('submit', function(event) { event.preventDefault(); /* stuff to do with the email */ input.value = ''; }) 
 <form> <input type="email" required> <button type="submit">submit</button> </form> 

无需手动清除输入,只需在提交后重置表单即可:

 const form = document.querySelector('form'); const input = document.querySelector('input'); form.addEventListener('submit', function(event) { event.preventDefault(); /* stuff to do with the email */ //input.value = ''; form.reset(); }) 
 <form> <input type="email" required> <button type="submit">submit</button> </form> 

我找到了! 看起来这可以使用CSS完成:)

Firefox似乎添加了一个自定义伪类,以在输入元素中添加一个box-shadow ,您也可以禁用它。

我做了这个JSFiddle 我的IE11显示“这是必填字段”消息,但没有显示红色边框

 const form = document.querySelector('form'); const input = document.querySelector('input'); form.addEventListener('submit', function(event) { event.preventDefault(); /* stuff to do with the email */ input.value = ''; }) 
 /* Firefox */ input:-moz-ui-invalid{ box-shadow:none; } /* Internet Explorer */ input:invalid{ outline:none; } 
 <form> <input type="email" required> <button type="submit">submit</button> </form> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM