Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

объекты radio с одинаковыми значениями name? (postG)
Author Message
postG
Участник форума



Joined: 08 Jul 2004
Posts: 44
Карма: 1
   поощрить/наказать

Location: СПб

PostPosted: Mon Feb 07, 2005 5:04 pm (написано за 3 минуты 51 секунду)
   Post subject: объекты radio с одинаковыми значениями name?
Reply with quote

добрый день.
Code (html): скопировать код в буфер обмена
<script (december.com/html/4/element/script.html) language="JavaScript"> (december.com/html/4/element/.html)
function check()
{
if (document.form.book.checked==false)
{
alert ("Please enter book!");
return false;
}
}
</script>
<body> (december.com/html/4/element/body.html)
<form (december.com/html/4/element/form.html) name="form"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html) type="radio" name="book"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html)   type="submit" OnClick="return check();" value="Book now"> (december.com/html/4/element/.html)
</form>
----------всё прекрасно работает.
Code (html): скопировать код в буфер обмена
<script (december.com/html/4/element/script.html) language="JavaScript"> (december.com/html/4/element/.html)
function check()
{
if (document.form.book.checked==false)
{
alert ("Please enter book!");
return false;
}
}
</script>
<body> (december.com/html/4/element/body.html)

<form (december.com/html/4/element/form.html) name="form"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html) type="radio" name="book"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html) type="radio" name="book"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html) type="radio" name="book"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html)   type="submit" OnClick="return check();" value="Book now"> (december.com/html/4/element/.html)
</form>
-------можно ли добиться такого же результата как и в первом случае, если радио кнопок много и у них одинаковое значение "name"?
Back to top
View user's profile Send private message
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Mon Feb 07, 2005 5:15 pm (спустя 11 минут; написано за 32 секунды)
   Post subject:
Reply with quote

Code (JavaScript): скопировать код в буфер обмена
function check() {
    found = false
    bk = document.form.book
    for (i=0; i<bk.length; i++) {
        if (bk[i].checked) {
            found = true
            break
        }
    }
    if (!found) {
        alert ("Please enter book!");
    }
    return found
}
Back to top
View user's profile Send private message Send e-mail
postG
Участник форума



Joined: 08 Jul 2004
Posts: 44
Карма: 1
   поощрить/наказать

Location: СПб

PostPosted: Mon Feb 07, 2005 5:34 pm (спустя 18 минут; написано за 16 секунд)
   Post subject:
Reply with quote

работает, спасибо!
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Mon Feb 07, 2005 6:12 pm (спустя 38 минут; написано за 1 минуту 56 секунд)
   Post subject:
Reply with quote


М

подправил первый пост.
и на будущее: пользуйтесь форматированием кода
и Вам и другим будет удобнее читать его
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Mon Feb 07, 2005 6:54 pm (спустя 42 минуты; написано за 1 минуту 3 секунды)
   Post subject:
Reply with quote

postG
А также можно использовать поле id, и доставать каждый элемент как document.getElementById (и не использовать «локальные» массивы объектов типа images, frames...)
Back to top
View user's profile Send private message Send e-mail
postG
Участник форума



Joined: 08 Jul 2004
Posts: 44
Карма: 1
   поощрить/наказать

Location: СПб

PostPosted: Tue Feb 08, 2005 10:30 am (спустя 15 часов 35 минут; написано за 13 секунд)
   Post subject:
Reply with quote

а в результате я зделал так:(если интересно..)
Code (html): скопировать код в буфер обмена
<head> (december.com/html/4/element/head.html)
        <title> (december.com/html/4/element/title.html)Untitled</title>
        <script (december.com/html/4/element/script.html) language="javascript"> (december.com/html/4/element/.html)
function check()
{
if (form.check_radio.value==0)
{
alert ("alert!!");
}

}
</script>
</head>

<body> (december.com/html/4/element/body.html)
<form (december.com/html/4/element/form.html) name="form"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html) name="check_radio" type="hidden" value="0"> (december.com/html/4/element/.html)
<INPUT (december.com/html/4/element/input.html) TYPE=radio NAME="book" VALUE="lala" OnClick="form.check_radio.value=1;"> (december.com/html/4/element/.html) lala<BR> (december.com/html/4/element/br.html)
<INPUT (december.com/html/4/element/input.html) TYPE=radio NAME="book" VALUE="bebe" OnClick="form.check_radio.value=1;"> (december.com/html/4/element/.html) bebe<BR> (december.com/html/4/element/br.html)
<INPUT (december.com/html/4/element/input.html) TYPE=radio NAME="book" VALUE="veve" OnClick="form.check_radio.value=1;"> (december.com/html/4/element/.html) veve</P>
<input (december.com/html/4/element/input.html) type="submit" value="check" Onclick="check();"> (december.com/html/4/element/.html)
</form>
</body>
</html>

</body>
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Tue Feb 08, 2005 10:53 am (спустя 22 минуты; написано за 3 минуты 33 секунды)
   Post subject:
Reply with quote

Вы усложнили себе задачу - лишние переменные
раньше было же предложено что-то попроще
Back to top
View user's profile Send private message
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Tue Feb 08, 2005 3:44 pm (спустя 4 часа 51 минуту)
   Post subject:
Reply with quote

тож вчера час провозился с этим, искал в литературе - ничего не нашел. а ларчик просто открывался -
Code (JavaScript): скопировать код в буфер обмена
document.all.BOOK[0].checked
(у меня два элемента было - "включая комиссию" и "исключая комиссию", нужно было проверить где флажок)
просто нет в пространстве имен переменных такой, искать нужно было в массивах.
Back to top
View user's profile Send private message
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Tue Feb 08, 2005 3:48 pm (спустя 3 минуты; написано за 53 секунды)
   Post subject:
Reply with quote

KaMPiLeR, ну зачем предлагать IE-only решения?

Тут уже двумя способами (оба кросбраузерные) решили проблему.
Back to top
View user's profile Send private message Send e-mail
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Tue Feb 08, 2005 4:15 pm (спустя 26 минут; написано за 17 секунд)
   Post subject:
Reply with quote

а почему ж оно IE-only?
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Tue Feb 08, 2005 4:26 pm (спустя 10 минут; написано за 11 секунд)
   Post subject:
Reply with quote

KaMPiLeR
Короче говоря, используйте document.getElementById =))
Back to top
View user's profile Send private message Send e-mail
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Tue Feb 08, 2005 4:32 pm (спустя 6 минут; написано за 1 минуту 25 секунд)
   Post subject:
Reply with quote

KaMPiLeR, потому что коллекция document.all придумана разработчиками IE и ими же только и используется.
Back to top
View user's profile Send private message Send e-mail
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Tue Feb 08, 2005 4:48 pm (спустя 15 минут; написано за 43 секунды)
   Post subject:
Reply with quote

Владимир Хоменко не знал.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Tue Feb 08, 2005 8:30 pm (спустя 3 часа 41 минуту; написано за 2 минуты 19 секунд)
   Post subject:
Reply with quote

postG wrote:
OnClick
Всегда пишите onclick саленькими буквами, потому что именно так называется событие. То, что в атрибуте тэга позволено писать хоть ONCLICK, не значит, что так следует и делать.
postG wrote:
form.check_radio.value
Вместо этого используйте this.form.check_radio.value (this - это всегда текущий элемент, this.form - форма текущего элемента). А name у form можете убрать, оно больше не нужно.
postG wrote:
function check()
Сделайте лучше function check(form), и вместо
postG wrote:
Onclick="check();"
пишите onclick="check(this)". То же самое - не привязываетесь к имени формы.
Back to top
View user's profile Send private message Send e-mail
postG
Участник форума



Joined: 08 Jul 2004
Posts: 44
Карма: 1
   поощрить/наказать

Location: СПб

PostPosted: Wed Feb 09, 2005 9:38 am (спустя 13 часов 8 минут; написано за 21 секунду)
   Post subject:
Reply with quote

Дмитрий Котеровпринято к сведению...исправлено..
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML