[英]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.