Проблемы в форме с checkbox, что делать? )
У нас есть форма, в которой нужно ввести имя, отметить пол и внести эти данные в список с пометкой пола (м) или (ж). Также можно удалять из списка.
У нас чикбоксы не работают, помогите пожалуйста исправить :)http://fotki.yandex.ru/users/rusakov.../739309?page=0 <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <TITLE>Добавление и удаление элементов из списков</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script type="text/javascript"> function focusElement() { var elem = document.forms[0].myInput; elem.focus(); } function addList(){ valid = true; document.forms[0].myInput.focus() var list1 = document.getElementsByTagName('select')[0]; var li = document.createElement('option'); var chek_m = document.getElementsByTagName ; /*Запрещение ввода пустой строки */ if (document.forms[0].myInput.value<1) return valid; /* Ввод в список из текстового поля */ li.innerHTML =document.forms[0].myInput.value /* Очистка текстового поля */ document.forms[0].myInput.value="" list1.appendChild(li);} </script> </HEAD> <BODY onload='focusElement()'> <form name="form1"> <br /><b>Введите имя</b><br /> <input name="myInput" value= "" size="42"> <br /><br /> <input type="checkbox" name="checkbox" id="chek_m"> men <br> <input type="checkbox" name="checkbox" id="chek_w"> women <br> <input onclick='addList()' type='button' value='Добавить'><br /> <input type=button value='Удалить' onClick="for(i=0;i<form.elements[3].length;i++) if(form.elements[3].options[i].selected==true) form.elements[3].options[i] = null;"><br /><br /> <b>Список<br /><br /> <select size="5" multiple id="list1"></<select> </form> </BODY> </HTML> |
что вы понимаете под не работают? они активны
<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <TITLE>Добавление и удаление элементов из списков</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script type="text/javascript"> function focusElement() { var elem = document.forms[0].myInput; elem.focus(); } function addList(){ valid = true; document.forms[0].myInput.focus() var list1 = document.getElementsByTagName('select')[0]; var li = document.createElement('option'); var chek_m = document.getElementsByTagName ; /*Запрещение ввода пустой строки */ if (document.forms[0].myInput.value<1) return valid; /* Ввод в список из текстового поля */ li.innerHTML =document.forms[0].myInput.value /* Очистка текстового поля */ document.forms[0].myInput.value="" list1.appendChild(li);} </script> </HEAD> <BODY onload='focusElement()'> <form name="form1"> <br /><b>Введите имя</b><br /> <input name="myInput" value= "" size="42"> <br /><br /> <input type="checkbox" name="checkbox" id="chek_m"> men <br> <input type="checkbox" name="checkbox" id="chek_w"> women <br> <input onclick='addList()' type='button' value='Добавить'><br /> <input type=button value='Удалить' onClick="for(i=0;i<form.elements[3].length;i++) if(form.elements[3].options[i].selected==true) form.elements[3].options[i] = null;"><br /><br /> <b>Список<br /><br /> <select size="5" multiple id="list1"></<select> </form> </BODY> </HTML> |
Цитата:
Для этого используют радиобаттоны или селект... |
так надо чтобы к вносимому имени приписывался пол ... Надо через чик бокс, препод сказал (
|
разбейте нос вашему преподу))) и скажите что так не делают))
а если серьезно, то вешайте на checkbox событие onchange и если один чек бокс активный, то второй делаем не активным |
для начала его вобще нужно хоть как то обработать http://codepen.io/anon/pen/qicda
дальше можете активностями рулить |
как то так:
<input type="checkbox" name="checkbox" id="chek_m" onchange="if (this.checked) document.getElementById('chek_w').checked = false;"> men <br> <input type="checkbox" name="checkbox" id="chek_w" onchange="if (this.checked) document.getElementById('chek_m').checked = false;"> women <br> |
.......
if (document.forms[0].myInput.value<1) return valid; /* Ввод в список из текстового поля */ var j = document.getElementById('chek_w').checked; var m = document.getElementById('chek_m').checked; if (!(m || j)) { alert('выберите пол!'); return; } li.innerHTML = (m ? 'мужик, епта.' : 'бабенция.') + ' ' + document.forms[0].myInput.value; /* Очистка текстового поля */ ..... |
ага, тернарный оператор здесь самое понятное решение)
|
спасибо всем кто откликнулся ) все попробуем! :yes:
|
Часовой пояс GMT +3, время: 12:31. |