Задать атрибут readonly по клику на чекбокс и назад
Доброго дня. Нужно, чтоб когда был отмечен флажок, поле ввода было в ридонли. При снятии флажка имя должно возвращаться. Собственно, проблема с заданием атрибута ридонли.
<script type="text/javascript"> function anon() {if (document.getElementById("anonym").checked) { nam= document.getElementById("youname").value; document.getElementById("youname").value= "Anonymous"; return nam; document.getElementById("youname").setAttribute("readonly") } else { document.getElementById("youname").value= nam}; } </script> <form name="analize"> <label for="youname">Ваше имя<label> <input type="text" id="youname" readonly /> <input type="checkbox" id="anonym" onclick="anon()"/> <label for="anonym"> Аноним </label> </form> |
<input type="text" id="youname" readonly />
тут readonly не должно быть, конечно. Добавил нечайно в рамках научного тыка |
Поменяйте местами эти две строчки
return nam; document.getElementById("youname").setAttribute("readonly") так как при return'e функция прекращает дальнейшее выполнение. |
document.getElementById("youname").setAttribute("readonly", "readonly"); |
Спасибо огромное.
А почему этот метод при обращении по имени не работает? document.getElementsByName("eot").setAttribute("di sabled", "disabled") <form name="frm"> <label><input type="radio" name="eot" value="1" /> EOT </label> <label><input type="radio" name="eot" value="2" /> Встречался </label> <label><input type="radio" name="eot" value="3" /> Встречаюсь </label> </form> |
Цитата:
document.getElementsByName('eot')[0].setAttribute("disabled", "disabled") |
Почему все так любят использовать атрибуты? Есть же свойства.
|
Ну и как решить дело в нашем случае свойствами? И в чем вообще выгода?
|
<input type="checkbox" id="checkbox"> <input type="text" id="text"> <script> document.getElementById( 'checkbox' ).addEventListener( 'click', function(){ var textInput = document.getElementById( 'text' ); textInput.readOnly = this.checked; }); </script> |
А точнее, если я правильно понял автора:
<input type="checkbox" id="checkbox" checked> <input type="text" id="text" value="Anon"> <script> var name; document.getElementById( 'checkbox' ).addEventListener( 'click', function(){ var textInput = document.getElementById( 'text' ); textInput.readOnly = !this.checked; if( this.checked ) { textInput.value = name; } else { textInput.value = textInput.defaultValue; } }); document.getElementById( 'text' ).addEventListener( 'keyup', function(){ name = this.value; }); </script> |
Цитата:
document.getElementById("youname").setAttribute("readOnly", "readOnly"); |
lord2kim,
это ты к чему? |
Цитата:
|
Цитата:
|
Цитата:
<input type='text' id='youname'> <script> function a() { document.getElementById("youname").setAttribute("readonly", "readonly"); } function b() { document.getElementById("youname").readOnly = true; } </script> <input type="button" value="asd" id="asd1" onClick="a()"><input type="button" value="asd" id="asd" onClick="b()"> что бы вы не говорили все равно не робит в IE8 |
Цитата:
|
если убрать <!DOCTYPE html>
то да, перестает работать |
Часовой пояс GMT +3, время: 19:49. |