Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вернуть значение выбранной радиокнопки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ammiak
Отправлено: 29 Ноября, 2011 - 10:04:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




здравствуйте, есть несколько радиокнопок и за ними кнопка "Далее". Нужно по нажатию на "Далее" вернуть значение выбранной радиокнопки. Пробовал такой способ, но не получилось:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input type="radio" name="button" id="first" value="Первый" checked="checked" /><label for="first">Первый</label>
  3. <input type="radio" name="button" id="second" value="Второй"/><label for="second">Второй</label>
  4. <input type="radio" name="button" id="third" value="Третий"/><label for="third">Третий</label>
  5.  
  6. <input type="submit" value="Далее" onclick="alert(radioObject.isChecked.value)" />
  7.  

Подскажите пожалуйста, как можно это сделать?

(Отредактировано автором: 29 Ноября, 2011 - 10:23:17)

 
 Top
EuGen Администратор
Отправлено: 29 Ноября, 2011 - 10:32:04
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Ammiak
Отправлено: 29 Ноября, 2011 - 17:04:22
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




EuGen, спасибо за ссылку, но не совсем разобрался вот с чем: количество кнопок как я понял, там подсчитывается с помощью radioObj.length. Но если я даже делаю так:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <input type="submit" value="Далее" onclick="alert(radioObj.length);" />
  3.  

в результате ничего не возвращается. Если можно объясните поподробнее, как лучше сделать, до этого юзал в основном jQuery, поэтому в чистом js не силен Закатив глазки
 
 Top
Panoptik
Отправлено: 29 Ноября, 2011 - 17:20:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




вообще если jquery подключена и вы с ней работали то можно сделать так:
вот за 2 минуты настрелял
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4.  
  5. <head>
  6.         <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  7.         <meta name="author" content="minatrix" />
  8.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
  9.         <title>Неназванный 7</title>
  10. </head>
  11.  
  12. <body>
  13. <input value="3" type="radio" name="dd" />
  14. <input value="4" type="radio" name="dd" />
  15. <input value="6" type="radio" name="dd" />
  16. <button onclick="show();">as</button>
  17. <script type="text/javascript">
  18. function show() {
  19.    $('input[name=dd]').each(function(){
  20.       if($(this).attr('checked')) {
  21.        alert($(this).val());
  22.       }
  23.    });
  24. }
  25. </script>
  26.  
  27. </body>
  28. </html>
  29.  


-----
Just do it
 
 Top
Ammiak
Отправлено: 29 Ноября, 2011 - 17:41:46
Post Id


Частый гость


Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Panoptik, соглашусь, на jQuery это делается быстро, но всё-таки хотелось бы понять как можно это реализовать на чистом js
 
 Top
SAD
Отправлено: 29 Ноября, 2011 - 17:52:19
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Ammiak пишет:
<input type="submit" value="Далее" onclick="alert(radioObj.length);" />


потому что у вас неопределено radioObj
 
 Top
Panoptik
Отправлено: 29 Ноября, 2011 - 23:08:11
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




вот вариант на чистом javascript
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input value="3" type="radio" name="dd" />
  2. <input value="4" type="radio" name="dd" />
  3. <input value="6" type="radio" name="dd" />
  4. <input value="22" type="radio" name="dd2" />
  5. <input value="42" type="radio" name="dd2" />
  6. <input value="62" type="radio" name="dd2" />
  7. <button onclick="show(1);">as</button>
  8. <button onclick="show(2);">as2</button>
  9. <script type="text/javascript">
  10. function show(group) {
  11.   var attrname;
  12.   var attrcheck;
  13.   var index;
  14.   if(group == 1) {
  15.    var name = 'dd';
  16.   } else {
  17.    var name = 'dd2';
  18.   }
  19.   var obj = document.getElementsByTagName('input');
  20.      for(var i = 0; i < obj.length; i++) {
  21.        attrname = obj[i].attributes.name.value;
  22.        attrcheck = obj[i].checked;
  23.        if(attrname == name && attrcheck) {
  24.            alert (obj[i].value);
  25.        }
  26.      }
  27. }
  28. </script>


-----
Just do it
 
 Top
DlTA
Отправлено: 29 Ноября, 2011 - 23:29:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Panoptik пишет:
var obj = document.getElementsByTagName('input')
че за хрень?!

getElementsByName
а вот что делает эта строчка
Panoptik пишет:
obj[i].attributes.name.value;
я не пойму
 
 Top
Panoptik
Отправлено: 30 Ноября, 2011 - 08:44:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




первая получает коллекцию элементов с тегами input

а вторая извлекает значение атрибута name из i-го члена коллекции

а что не так?
(Добавление)
в виду сложившихся обстоятельств и открытия новых методов "getElementsByName"
попробуем переделать код в следующее:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. function show(name) {
  4.   var attrcheck;
  5.   var obj = document.getElementsByName(name);
  6.      for(var i = 0; i < obj.length; i++) {
  7.        attrcheck = obj[i].checked;
  8.        if(attrcheck) {
  9.            alert (obj[i].value);
  10.        }
  11.      }
  12. }
  13. </script>
  14.  

вот как то так)

(Отредактировано автором: 30 Ноября, 2011 - 08:49:58)



-----
Just do it
 
 Top
DlTA
Отправлено: 30 Ноября, 2011 - 09:01:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




просто и понятно
Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB