checkbox'ы. баттон.. деактевируется
<form name="form"> <input type="checkbox" name="var" value="var1"> <span>VARIANT 1</span><br> <input type="checkbox" name="var" value="var2"> <span>VARIANT 2</span><br> <input type="checkbox" name="var" value="var3"> <span>VARIANT 3</span><br> <input type="checkbox" name="var" value="var4"> <span>VARIANT 4</span><br> <input type="checkbox" name="var" value="var5"> <span>VARIANT 5</span><br> <input type="button" value="reset"> </form> let res = document.querySelector('.result'), btn = document.querySelector('input[type=button]'), numCheck = 0, maxCheck = 3; function radioClick(elem) { if (!elem.id) { numCheck++; elem.setAttribute('id', 'check'); } else { numCheck--; elem.setAttribute('id', ''); } for (let i = 0; i < form.length; ++i) { if (numCheck == maxCheck) { if (!form[i].checked) { form[i].disabled = true; } } else if (numCheck < maxCheck) { form[i].disabled = false; } } } for (let i = 0; i < form.elements.length; ++i) { let forms = form.elements[i]; forms.onclick = function() { if (forms.type == 'checkbox') { radioClick(this); } } } Всем привет!!! с Рождеством Христовым!!!!! вот в чем вопрос, при клике есть условие, что, если тип равен чекбоксу.... disabled, но тип баттон тоже становиться деактевирован, помогите с алгоритмом, как его не затронуть. && тоже пробовал, сунул, куда только можно. Спасибо!!! |
решил..... спасибо, если читали!!!!! с праздниками
btn.disabled = false; нужно отдыхать по больше..... чета перемудрил))))))))))) но, почему условие не разделяет по типу? |
prolk,
что хотите сделать? |
рони,
1. кнопка должна быть деактивирована, пока не будут выбраны, 3 чекбокса. 2.при выборе 3-х, кнопка активируется. 3.кнопка ведет, куда-либо, или дает другой набор вариантов. Это я себе такую задачу поставил.... Только кнопка сразу активирована... только после первого выбора она disabled... что не позволительно..... это полный код: <form name="form"> <input type="checkbox" name="var" value="var1"> <span>VARIANT 1</span><br> <input type="checkbox" name="var" value="var2"> <span>VARIANT 2</span><br> <input type="checkbox" name="var" value="var3"> <span>VARIANT 3</span><br> <input type="checkbox" name="var" value="var4"> <span>VARIANT 4</span><br> <input type="checkbox" name="var" value="var5"> <span>VARIANT 5</span><br> <input type="button" value="next"> </form> <div class="result"></div> let res = document.querySelector('.result'), btn = document.querySelector('input[type=button]'), numCheck = 0, maxCheck = 3; function radioClick(elem) { if (!elem.id) { numCheck++; elem.setAttribute('id', 'check'); } else { numCheck--; elem.setAttribute('id', ''); } for (let i = 0; i < form.length; ++i) { if (numCheck == maxCheck) { if (!form[i].checked) { form[i].disabled = true; res.innerHTML = "далее"; btn.disabled = false; } } else if (numCheck < maxCheck) { form[i].disabled = false; res.innerHTML = ''; btn.disabled = true; } } } for (let i = 0; i < form.elements.length; ++i) { let forms = form.elements[i]; forms.onclick = function() { if (forms.type === 'checkbox') { radioClick(this); } } } |
prolk,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <form name="form"> <input type="checkbox" name="var" value="var1"> <span>VARIANT 1</span><br> <input type="checkbox" name="var" value="var2"> <span>VARIANT 2</span><br> <input type="checkbox" name="var" value="var3"> <span>VARIANT 3</span><br> <input type="checkbox" name="var" value="var4"> <span>VARIANT 4</span><br> <input type="checkbox" name="var" value="var5"> <span>VARIANT 5</span><br> <input type="button" value="next" disabled="disabled"> </form> <script> document.addEventListener("DOMContentLoaded", function() { var btn = document.querySelector('[type="button"]'); document.querySelector('[name="form"]').addEventListener("click", function(event) { var target = event.target; if (target.name == "var") { var check = document.querySelectorAll('[name="var"]:checked'); check.length < 3 ? btn.setAttribute("disabled", "disabled") : btn.removeAttribute("disabled") } }) }); </script> </body> </html> |
может попробовать через метку: flaq =0; если сработает 3-и, тогда поставить flaq = 1; это как вариант
|
рони,
завтра разберу, спасибо!!!! будет чем заняться.... |
Часовой пояс GMT +3, время: 13:42. |