Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: readonly onChange
 
 автор: Eugene77   (03.09.2009 в 14:58)   письмо автору
 
 

Здравствуйте!
Мне надо чтобы по изменению наличия флажка в чекбоксе
input становился доступен для редактирования.
Но у меня почему-то не работает:

<input name="" type="checkbox" value="alernative" 
        onChange="document.getElementByName("new_postfix").readonly=false;"/>
        
<input name="new_postfix" type="text" value="" size="11" maxlength="11" readonly="true" />

  Ответить  
 
 автор: Madman   (03.09.2009 в 16:29)   письмо автору
 
   для: Eugene77   (03.09.2009 в 14:58)
 

<input name="" type="checkbox" value="alernative" 
        onChange="document.getElementByName("new_postfix").readOnly=false;"/>
        
<input name="new_postfix" type="text" value="" size="11" maxlength="11" readonly="true" />

  Ответить  
 
 автор: sim5   (03.09.2009 в 16:51)   письмо автору
 
   для: Madman   (03.09.2009 в 16:29)
 

С чего вы решили, что onChange будет работать у чекбокса? ="document.getElementByName("new_postfix").readOnly=false;" - это ошибка, id объекта нужно брать в одинарные кавычки.

  Ответить  
 
 автор: ыыыыыыыы   (03.09.2009 в 17:37)
 
   для: Eugene77   (03.09.2009 в 14:58)
 

<input name="" type="checkbox" value="alernative" 
        onclick="document.getElementsByName ('new_postfix') [0].readOnly = (this.checked) ? false : true"/>

  Ответить  
 
 автор: Eugene77   (04.09.2009 в 07:58)   письмо автору
 
   для: ыыыыыыыы   (03.09.2009 в 17:37)
 

>
<input name="" type="checkbox" value="alernative" 
>        onclick="document.getElementsByName ('new_postfix') [0].readOnly = (this.checked) ? false : true"/>


Хорошая идея.
Но ByName почему-то так и не заработал.
Пришлось писать ById, и вводить id в соответствующий инпут.

Проверял на Опере 9.63
Может, Опера вообще ByName не поддерживает?
Кто в курсе?

  Ответить  
 
 автор: ыыыыыыыы   (04.09.2009 в 10:56)
 
   для: Eugene77   (04.09.2009 в 07:58)
 

>Но ByName почему-то так и не заработал.

Вы, видимо, оставили свой ByName, а надо было скопировать мой.
Сравните:
ваш - document.getElementByName  - неправильный
мой - document.getElementsByName - верный

  Ответить  
 
 автор: Eugene77   (06.09.2009 в 19:09)   письмо автору
 
   для: ыыыыыыыы   (04.09.2009 в 10:56)
 

То есть, обращаясь по имени, мы всегда получаем массив?
Спасибо! Я как-то пропустил это мимо ушей, читая мануал.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования