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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нажатия Checkbox'a и активация Submit'a 
V
    Опции темы
MoLeX
  Дата 2.10.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



на сайте генерятся большое кол-во Checkbox'оф, 
Пример:
Код

<input type="checkbox" name="c10345" onclick="make(this.name)" />
<input type="checkbox" name="c34534" onclick="make(this.name)" />
<input type="checkbox" name="c34858" onclick="make(this.name)" />
........


и имеется кнопка Submit. Так вот сам вопрос: Как сделать чтобы по нажатию на ЛЮБОЙ чекбокс кнопка становилась активной, а при отжатии опять disabled?  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Pokoinik
Дата 2.10.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

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



Код

<script>
//в онклике советую просто передовать this
function make(elm) {
     if(this.checked) {
           getElementById('submit').disabled = true;
     }
     else getElementById('submit').disabled = false;
}
</script>
<input type="button" disabled value="kjhdfgkjh" id='submit'>


примерно так


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
MoLeX
Дата 2.10.2007, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Pokoinik, т.е. так:?

Код

<script>
//в онклике советую просто передовать this
function make() 
{
    if(this.checked) 
    {
       getElementById('submit').disabled = true;
    }
    else 
    {
        getElementById('submit').disabled = false;
    }
}
</script>
<input type="checkbox" onclick="make(this)">
<input type="button" disabled value="kjhdfgkjh" id='submit'>




--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Pokoinik
Дата 2.10.2007, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

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



MoLeX
у тебя ошибка в функции, она должна быть такое:
function make(obj) 
{
    if(obj.checked) 
    {
       getElementById('submit').disabled = true;
    }
    else 
    {
        getElementById('submit').disabled = false;
    }
}


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
MoLeX
Дата 2.10.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



не работает


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Pokoinik
Дата 2.10.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

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



MoLeX, приведи полный текст паги


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
MoLeX
Дата 2.10.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Вся страница:
Код

<html> 
<head> 
<title>ля-ля</title> 
<meta http-equiv="Content-type" content="text/html; charset=windows-1251"> 
</head>
<script language="JavaScript">
var make=function(par)
{
    if(document.getElementById(par+'r').disabled)
    {
        document.getElementById(par+'r').disabled=false
    }
    else
    {
        document.getElementById(par+'r').disabled=true;
    }
}
</script>
<body>
            
<table border="0" cellspacing="0">    
<tr>
    <td><input type="checkbox" name="c10" onclick="make(this.name)"></td> 
    <td><input type="text" disabled="disabled" id="c10r" name="c1000000010r"></td> 
</tr> 
<tr>
    <td><input type="checkbox" name="c11" onclick="make(this.name)"></td> 
    <td><input type="text" disabled="disabled" id="c11r" name="c1000000010r"></td> 
</tr> 
<tr>
    <td><input type="checkbox" name="c12" onclick="make(this.name)"></td> 
    <td><input type="text" disabled="disabled" id="c12r" name="c1000000010r"></td> 
</tr> 
</table>

<br /> 
<input type="submit" value="Подтвердить" disabled="disabled" />
</body>
</html>



Это сообщение отредактировал(а) MoLeX - 2.10.2007, 12:35


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 2.10.2007, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



есть у кого идее (а лучше реальные предложения?)


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Pokoinik
Дата 2.10.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

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



реальное предложение:
разобраться самому...


Код

<html> 
<head> 
<title>ля-ля</title> 
<meta http-equiv="Content-type" content="text/html; charset=windows-1251"> 
</head>
<script language="JavaScript">
function make(par) {
    if (par.checked) {
        document.getElementById(par.name+'r').disabled=false;
        document.getElementById('submit').disabled=false;
    } else {
        document.getElementById(par.name+'r').disabled=true;
        document.getElementById('submit').disabled=true;
    }
}
</script>
<body>
            
<table border="0" cellspacing="0">    
<tr>
    <td><input type="checkbox" name="c10" onclick="make(this)"></td> 
    <td><input type="text" disabled="disabled" id="c10r" name="c1000000010r"></td> 
</tr> 
<tr>
    <td><input type="checkbox" name="c11" onclick="make(this)"></td> 
    <td><input type="text" disabled="disabled" id="c11r" name="c1000000010r"></td> 
</tr> 
<tr>
    <td><input type="checkbox" name="c12" onclick="make(this)"></td> 
    <td><input type="text" disabled="disabled" id="c12r" name="c1000000010r"></td> 
</tr> 
</table>

<br /> 
<input id="submit" type="submit" value="Подтвердить" disabled="disabled" />
</body>
</html>



--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
MoLeX
Дата 2.10.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Pokoinik, спасибо  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 2.10.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Ситуация: юзер чекает один чекбокс - кнопка активируется, чекает второй - кнопка по-прежнему активна, "расчекивает" первый (второй остается чекнутым)... внимание, вопрос: что будет с кнопкой? smile

Предлагаю способ решения этой проблемы:
Код

function init(btn) {
   btn.checkedBoxs = 0; 
   var inps = document.getElementsByTagName('input');
   for (var i=0, inp; inp = inps[i]; i++) {
      if (inp.type == 'checkbox' && inp.name.charAt(0) == 'c' && inp.checked) {
         btn.checkedBoxs++;
      }
   }
}
function make(par) {
   var bSubmit = document.getElementById('submit');
   var firstCall = (bSubmit.checkedBoxs == null) ;
   if (firstCall) init(bSubmit);
   if (par) {
      var linkedText = document.getElementById(par.name+'r');
      if (par.checked) {
         linkedText.disabled=false;
         if (!firstCall) bSubmit.checkedBoxs++;
      } else {
         linkedText.disabled=true;
         if (!firstCall) bSubmit.checkedBoxs--;
      }
   }
   bSubmit.disabled = !bSubmit.checkedBoxs;
}
onload = function() { make(null); }



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
MoLeX
Дата 3.10.2007, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



SelenIT, да ты прав сразу и незаметил. Огромный респект всем кто отвечал =)


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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