Здравствуйте. Столкнулся с проблемой проверки на то выбран ли элемент type radio. Мне нужно сделать чтобы если элемент выбран то галочка убиралась. Дело в том что проверка проходит как-то странно и как только я нажимаю на элемент галочка тут же убирается. Похоже на то что сначало элемент становится выбранным, а уже потом идет проверка. Что в моей проверке может быть не так? Алертом выводит что один элемент выбран (на который я нажимаю), а другой не выбран, но в проверке я поставил checked true и по логике он не должен проходить. Спасибо
if((target == form.elements.male[0] && form.elements.male[0].checked ==
true) || (target == form.elements.male[1] && form.elements.male[1].checked
== true)) {
alert(form.elements.male[0].checked + ' ' +
form.elements.male[1].checked);
target.checked = false;
}
Спасибо, сам ответил на свой вопрос когда свой же комментарий перечитал) оказывается функция которая ставить checked на элемент проходит по onmousedown(как только кнопка мыши опустилась), а onclick(когда кнопка мыши опустилась и поднялась), следовательно сначала ставится галка, а потом начинается проверка её наличия, по этому нам надо ставить такую проверку на onmousedown:
document.onmousedown = function(e) {
let target = e.target;
if(target == "Нужный нам элемент")
target.checked = false;
}
}
либо явно на элемент применять:
element.onmousedown = function(){
if(element.checked) element.checked = false;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как убрать название сайта из блока "Поделиться"?
При клике на блок с классом main-block ajaxом добавляются элементыФункция, которая отрабатывает при клике на элемент, который добавляется ajax
Необходимо проверить заполненность полей и запретить отправку формы, если есть пустые