Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> checkbox !!! =( 
:(
    Опции темы
hostsid
Дата 30.9.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.9.2008

Репутация: нет
Всего: нет



необходимо, что б, если включён checkbox, становилось доступным для редактирования сооветствующее этому checkbox'у текстовое поле.

Код

<script>
function show_p(form) { 
for (i=0; i<=3; i++) {
    if (form.p[i].checked = 0) {
    form.m_p[i].disabled = 0;                
    }
    else {
    form.m_p[i].disabled = 1;                
    }
}
return;
}
</script>

<form>
...
<td class="point"><input type="checkbox" name="p1" onclick="show_p(this.form);"/></td>
<td class="point"><input type="text" name="m_p1" disabled></td>
...
...
</form>


не выходит...ХЕЛП ПЛЗ!!!!!  smile 

Это сообщение отредактировал(а) hostsid - 30.9.2008, 18:01
PM MAIL ICQ   Вверх
ksnk
Дата 30.9.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Код

<script>
function show_p(el) { 
    var inp=el.parentNode.parentNode.getElementsByTagName('input')[1];
    inp.disabled=!!inp.disabled?"":"disabled";
}
</script>
<form>
<table>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p1" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p2" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p3" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p4" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p5" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p6" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p7" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p1" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p1" disabled></td>
</tr>
<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p1" disabled></td>
</tr>
</table>
</form>



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
hostsid
Дата 30.9.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.9.2008

Репутация: нет
Всего: нет



...лично мне непонятно как, но работает. СПАСИБО ОГРОМНОЕ!
PM MAIL ICQ   Вверх
ksnk
Дата 30.9.2008, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



hostsid, 
- при вызове обработчика события переменная this указывает на собственно элемент.
- строка var inp=el.parentNode.parentNode.getElementsByTagName('input')[1]; говорит - возьмем от нашего элемента родителя->родителя (это будет tr). Затем в получившейся ветке поищем все элементы input. затем возьмем из получившегося массива 1 элемент - это будет input-text (0-м будет сам чекбокс) Вот здесь идет неслабый заклад на структуру html документа. Cвязанные элементы должны располагаться именно таким образом 
- у инпута поменяем свойство disabled на "" или строку "disabled". Такое работет во всех доступных мне броузерах, в то время как с логическими значениями кто-то, вроде глючил...

Вот, вроде и все smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
hostsid
  Дата 2.10.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.9.2008

Репутация: нет
Всего: нет



а если надо что б было чекбокс выключал и включал активность не одного текстового поля...а 2х расположенных рядом?

Код

<tr>
<td class="point"><input type="checkbox" onclick="show_p(this);"/></td>
<td class="point"><input type="text" name="m_p1" disabled></td>
<td class="point"><input type="text" name="m_p1_1" disabled></td>
</tr>


?
PM MAIL ICQ   Вверх
ksnk
Дата 3.10.2008, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Код

function show_p(el) { 
    var inp=el.parentNode.parentNode.getElementsByTagName('input');
    inp[1].disabled=!!inp[1].disabled?"":"disabled";
    inp[2].disabled=!!inp[2].disabled?"":"disabled";
}





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.