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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбраны ли checkbox'ы и radio кнопки 
:(
    Опции темы
Sniper
Дата 2.6.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



имя checkbox'ов ch1[], имя  radio кнопок rb1
Код

function choosetype(form){
      for (i=0; i<form.elements.length; i++) {
         var item = form.elements[i];
            if (item.name == "ch1[]") {
              if (item.checked) {
                   document.form.submit();
              }
            }
      }
      alert("Choose something!");
      return false;
    }


как добавить проверку на "выбранность" radio кнопки?


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
krundetz
Дата 2.6.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



Точно так же у неё тоже есть свойство checked принимающее значение true либо false


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Sniper
Дата 2.6.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



krundetz, это я знаю.
Если я пишу вот так:

Код

function choosetype(form){
      for (i=0; i<form.elements.length; i++) {
         var item = form.elements[i];
            if (item.name == "ch1[]") || (item.name == "rb1"){
              if (item.checked) {
                   document.form.submit();
              }
            }
      }
      alert("Choose something!");
      return false;
    }


оно не работает :-(


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Ghirik
Дата 3.6.2008, 02:12 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



if (item.name == "ch1[]" || item.name == "rb1"){


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Sniper
Дата 3.6.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Ghirik @ 2.6.2008,  23:12)
if (item.name == "ch1[]" || item.name == "rb1"){

если напсиать так, то если я выберу и сheckbox и radioкнопку , то скрипт мне всёравно пишет что я ничего не выбрал...


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Ghirik
Дата 3.6.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Title block</title>
<script type="text/javascript">
<!--
function choosetype(form){
      for (i=0; i<form.elements.length; i++) {
         var item = form.elements[i];
            if (item.name == "ch1[]" || item.name == "rb1"){
              if (item.checked == true) {
                   alert('checked')
                   //document.form.submit();
              }
            }
      }
      alert("Choose something!");
      return false;
    }

//-->
</script>
</head>
<body>
<form method="POST">
<p><input type="radio" value="V1" name="ch1[]"><input type="checkbox" name="rb1" value="ON"></p>
<p><input type="submit" value="Отправить" onclick="choosetype(this.form)"></p>
</form>
</body>
</html>


Проверьте в разных браузерах. Если item.checked == true где то не заработает, тогда придется для этого браузера, через условие писать, наверное, так item.checked == 'checked' smile





--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
krundetz
Дата 3.6.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



У меня обычно прокатывает такая конструкция
Код

if(item.checked)

тоесть если он у нас есть не важно что там true или checked работаем если нет или false то неработаем.
Ghirik как вы думаете вообще верно так писать?


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Ghirik
Дата 3.6.2008, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот здесь я намучался с кроссбраузерным использованием свойства 'disabled'.
Попробуйте хоть как нибудь изменить приведенную там строчку кода, и в одном из браузеров откажется работать. Поэтому, я вполне допускаю, что с checked могут быть те же проблемы.
Но я не проверял.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Sniper
Дата 3.6.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



если выбраны оба контрола то всёравно в конце он пишет Choose something!, а должен написать 1 раз  checked и всё

Это сообщение отредактировал(а) Sniper - 3.6.2008, 20:44


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
SelenIT
Дата 4.6.2008, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(krundetz @  3.6.2008,  16:36 Найти цитируемый пост)
вообще верно так писать?

Для подобной задачи, имхо, верно. Более того, даже если по какой-то сверхъестественной причине item-ом окажется не input, а элемент, вообще не имеющий св-ва checked, условие отработает корректно, без ошибки.

Sniper, найдите 10 различий ;):
Код

<script type="text/javascript">
function choosetype(form){
    for (i=0; i<form.elements.length; i++) {
        var item = form.elements[i];
            if (item.name == "ch1[]" || item.name == "rb1"){
              if (item.checked) {
                   alert('checked')
                   return true; // дальше проверять не надо - переходим к отправке
              }
            }
      }
      alert("Choose something!");
      return false; // отменяем отправку
    }
</script>
<form method="POST" onsubmit="return choosetype(this)">
<p><input type="radio" value="V1" name="ch1[]"><input type="checkbox" name="rb1" value="ON"></p>
<p><input type="submit" value="Отправить"></p>
</form>



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


Опытный
**


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

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



Цитата

если выбраны оба контрола то всёравно в конце он пишет Choose something!, а должен написать 1 раз  checked и всё


А не стыдно, сидеть и ждать пока вам готовый код дадут? Я ведь сделал, что бы у вас заработало... Если работает не так, ну дак попробуйте что то поменять, сделать по другому. В чем проблема то, в лени? За это время можно было все буквы в коде попробовать заменить десять раз. А вы закинули на форум вопрос, и занялись делами поважнее, а здесь пускай блэки поработают. Некрасиво.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Sniper
Дата 4.6.2008, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
А не стыдно, сидеть и ждать пока вам готовый код дадут?

я дал код в первом сообщении в котором ошибка (где я просил полностью готовый код?)

мде, SelenIT я понимал, что туплю, но не думал что настолько :-/

Спасибо. ;-)

Это сообщение отредактировал(а) Sniper - 4.6.2008, 08:55


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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