Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > function против document.getElementById()


Автор: Данuл 28.11.2008, 15:27
Код

      <script language='javascript'>
      function block(ida)
       {
       var myelement = document.getElementById('j'+ida);
       var myelements = document.getElementById(ida);
       if (myelement.checked == false)
        {
        document.myelements.disabled = true;
        }
       else
        {
        myelements.disabled = false;
        }
       }
      </script>
<input type='checkbox' id='jname' onChange='block(name)'><input type='text' id='name' disabled='true'>
<input type='checkbox' id='jname2' onChange='block(name2)'><input type='text' id='name2' disabled='true'>


Смысл такой: посредством php будет формироваться список по принципу "кнопка+форма_текста". При нажатии на кнопку должен разблокироваться input=text. name и name2 - это то, что в каждой строчки будет разной переменной.
Вопрос задачи: почему document.getElementById() не воспринимает параметр функции block() - "ida"? Давно заметил эту непонятность, но как-то обходился раньше... Заранее благодарю.

Автор: vasac 28.11.2008, 16:06
а вы сделайте alert(ida) и узнаете

Автор: comtat 28.11.2008, 16:42
http://www.comptechdoc.org/independent/web/cgi/javamanual/javacheckbox.html
Используйте не onChange а OnClick

Автор: Michael.de 29.11.2008, 02:50
Данuл:
1. все эти onchange(), оnсlick() и т.д. пишутся в нижнем регистре
2. вместо <script language='javascript'> лучше пиши <script type='text/javascript'>

Автор: ksnk 29.11.2008, 10:12
Цитата

onChange='block(name2)'

Может вот так было бы лучше
Код

onChange='block("name2")'

?

Автор: Данuл 30.11.2008, 10:17
Цитата(ksnk @ 29.11.2008,  10:12)
Цитата

onChange='block(name2)'

Может вот так было бы лучше
Код

onChange='block("name2")'

?

+1
Дело было именно в этом! Огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)