У меня есть вход, который просит пользователя ввести действительный адрес электронной почты, затем я очистить ввод при отправке. Проблема возникает в 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>Что вам нужно? подтвердить еще раз? или удалить только необходимую зависимость?
@Baksteen Не бывает в Chrome: 'D
@ osiris85 Есть ли способ остановить проверку после отправки действительного ввода?
@Baksteen отлично работает и в Opera, но спасибо, я не знал, что есть другие браузеры с этой проблемой.
@MoaazBhnas, вы можете использовать input.removeAttributte('required')
@ osiris85, но я хочу, чтобы это потребовалось в следующий раз
@MoaazBhnas хорошо, в этом случае ответ scheellmax правильный



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я нашел это! похоже, это можно сделать с помощью 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>Но сейчас обратной связи нет вообще в 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.reset();
})<form>
<input type = "email" required>
<button type = "submit">submit</button>
</form>попробовал это через browserstack в IE11 и FF63 в Windows, а также на моем Mac в последних версиях Chrome и Firefox, все сработало. Какие именно платформы / версии браузера вы используете?
Большое тебе спасибо
У меня тоже бывает на firefox!