событие onLoad
добрый день.
подскажите как реализовать чтоб по событию onload поля <input type="radio"> переходили в состояние disabled. запускаю ф-цию ничего не срабатывает. |
Странно, у меня срабатывает.
|
Так может приведешь пример реализации
|
Там может покажешь, что у тебя не срабатывает, а то телепаты в отпуске.
|
вот моя функция, запускаю, и она срабатывает
<script> window.onload = function(){ var myForm = document.getElementById('myForm'); for (var i = 0; i < myForm.elements.length; i++) myForm.elements[i].disabled = true; } </script> <body> <form id="myForm"> <input type="radio" name="na">1</input> <input type="radio" name="na">2</input> <input type="radio" name="na">3</input> <input type="radio" name="na">4</input> </form> </body> |
вопрос возник
<script> window.onload = function(){ //в случае с div alert(document.getElementById('test').childNodes.length);//в IE - 3, в FF - 5 т.к. DOM не нормализован //здесь вроде все понятно //FireBug показывает для document.getElementBiId('test').childNodes: //<TextNode textContent="\n "> //div //<TextNode textContent="\n"> //span //<TextNode textContent="lala\n"> // var myForm = document.getElementById('myForm'); alert(myForm.childNodes.length);//9 в FF, 15?? в IE for (var i = 0; i < myForm.childNodes.length; i++) alert(myForm.childNodes[i].tagName); //в IE // INPUT // undefined // /INPUT // undefined // INPUT // undefined // /INPUT // INPUT // undefined // /INPUT // undefined // INPUT // undefined // /INPUT // undefined //=> IE воспринимает теги input как два отдельных элемента Dom?, // т.е. всю вот эту штуку: <input type="radio" name="na">1</input> //как 3 отдельных элемента DOM: 2 объекта Element и один textNode между ними? // тогда почему есть еще undefined после /INPUT?? //FF, получается, 'показывает' один input и следующий за ним текстовый узел //Ie - 3 узла, но ни в одном случае, текстовый узел не является вложенным } </script> <body> <form id="myForm" action="#"> <input type="radio" name="na">1</input> <input type="radio" name="na">2</input><input type="radio" name="na">3</input> <input type="radio" name="na">4</input> </form> <div id="test"> <div>parampampam</div> <span></span>lala </div> </body> |
а почему не работает такая конструкция
<script> window.onload = Abc(); function Abc(){ var val = document.getElementByName('abc'); val.disabled = true; } </script> <form> <input type="radio" name="abc">1</input> </form> |
Цитата:
что возвращает функция Abc? А функция Abc возвращает undefined function Abc(){ //var val = document.getElementByName('abc'); //val.disabled = true; } alert(Abc()) Значит вы делаете что? Вы присваиваете свойству onload объекта window значение undefined: window.onload = undefined вот и не работает. Нужно присваивать ссылку на функцию: window.onload = Abc; И метода getElementByName не существует, есть метод getElementsByName. |
Все равно не работает
|
<script> window.onload = Abc; function Abc(){ var val = document.getElementById('abc'); val.disabled = true; } </script> <form> <input type="radio" id="abc">1</input> </form> |
Часовой пояс GMT +3, время: 01:29. |