информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetВсе любят медСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Google закрывает безлимитные Photos 
 Имя компании как средство XSS-атаки 
 Утекший код XP и Windows Server... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Не работает :(( 05.04.05 15:21  Число просмотров: 2228
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
<script language=javascript>
function subform() {
if (document.f1.r1.value=="v3") {
alert("Hello!");
} else {
document.f1.submit();
}
}
</script>

<form method="GET" name=f1 action="#">
<input type="radio" value="v1" name="r1">
<input type="radio" value="v2" name="r1">
<input type="radio" value="v3" name="r1" checked style="display:none">
<input type="button" value="Submit" onclick="javascript:subform()">
</form>

При любом варианте выбора (дефолт или руками) - alert не вываливается :((
<web building>
Помогите, плз, чайнику! Уже крышка подпрыгивает! 04.04.05 16:52  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
Дано: форма с невыбранными радиокнопками (5 шт.).
Надо: если юзверь ничего не выбрал вывалить ему алерт и ничего на сервер не отправлять. Как можно проверить невыбранность радиокнопок?
JavaScript + HTML DOM не пробовали? ;-) 04.04.05 18:03  
Автор: HandleX <Александр Майборода> Статус: The Elderman
<"чистая" ссылка>
[upd] А вообще-то не получится 04.04.05 18:51  
Автор: Heller <Heller> Статус: Elderman
Отредактировано 04.04.05 22:51  Количество правок: 1
<"чистая" ссылка>
Попробовал написать экземпл на javascript под эксплорером и вот что вышло: радиокнопка не отмечена, но тем не менее при проверке её значения javascript'ом, получается, что, несмотря на это, в ней всё равно лежит дефолтное значение. Я писал так:
<script language=javascript>
function subform() {
 if (document.f1.r1.value=="v1") {
  alert("Hello!");
 } else {
  document.f1.submit();
 }
}
</script>

<form method="GET" name=f1 action="#">
<input type="radio" value="v1" name="r1">
<input type="button" value="Submit" onclick="javascript:subform()">
</form>

---
Принажатии на submit у меня выскакивает alert. Как вариант борьбы с означенной проблемой могу предложить устанавливать дефолты (атрибут checked).

Что бы была уверенность, что юзер всё же увидел радиокнопку и нажал, а не оставил значение по дефолту, даже не читая, сделай по дефолту скрытую радиокнопку, которую технически нельзя выбрать (displayed:none) и аналогичным скриптом как я написал выше проверяй, выбрана ли она или что-то другое.
---------------
[upd] Cлегка напутал с кодом. Просто исправил ошибку (забыл про onclick). Смысл от этого не поменялся :-)
Вот как раз с дефолтным значением у меня проблема: как его... 05.04.05 09:42  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
> Попробовал написать экземпл на javascript под эксплорером и
> вот что вышло: радиокнопка не отмечена, но тем не менее при
> проверке её значения javascript'ом, получается, что,
> несмотря на это, в ней всё равно лежит дефолтное значение.
Вот как раз с дефолтным значением у меня проблема: как его узнать/назначить?
> Я писал так:
>
> <script language=javascript>
> function subform() {
>  if (document.f1.r1.value=="v1") {
>   alert("Hello!");
>  } else {
>   document.f1.submit();
>  }
> }
> </script>
> 
> <form method="GET" name=f1 action="#">
> <input type="radio" value="v1" name="r1">
> <input type="button" value="Submit"
> onclick="javascript:subform()">
> </form>
> 

---
У меня почти также, только не get а post (не существенно я так понимаю) не onclick, a onsubmit="return subform(f1);" щоб, значить, не отправлял че не надо.
> Принажатии на submit у меня выскакивает alert. Как вариант
> борьбы с означенной проблемой могу предложить устанавливать
> дефолты (атрибут checked).
checked нельзя, т.к. отдельные несознательные юзвери отправляют форму не выбрав ничего (используя дефолт),
> Что бы была уверенность, что юзер всё же увидел радиокнопку
> и нажал, а не оставил значение по дефолту, даже не читая,
> сделай по дефолту скрытую радиокнопку, которую технически
> нельзя выбрать (displayed:none) и аналогичным скриптом как
А куда писать displayed:none? <input type="radio" value="v1" name="r1" displayed:none>, так?
> я написал выше проверяй, выбрана ли она или что-то другое.
> ---------------
> [upd] Cлегка напутал с кодом. Просто исправил ошибку (забыл
> про onclick). Смысл от этого не поменялся :-)
Почти 05.04.05 13:30  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
display прописывается так:

<input type=radio name=... value=,,, style="display:none">
Не работает :(( 05.04.05 15:21  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
<script language=javascript>
function subform() {
if (document.f1.r1.value=="v3") {
alert("Hello!");
} else {
document.f1.submit();
}
}
</script>

<form method="GET" name=f1 action="#">
<input type="radio" value="v1" name="r1">
<input type="radio" value="v2" name="r1">
<input type="radio" value="v3" name="r1" checked style="display:none">
<input type="button" value="Submit" onclick="javascript:subform()">
</form>

При любом варианте выбора (дефолт или руками) - alert не вываливается :((
Re 05.04.05 21:43  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
В общем понял я в чём ошибка. Почитал документацию - оказывается, для радиокнопок не существует понятия value. Вместо этого для них заводится массив. То бишь в нашем случае массивом является document.f1.r1. И проверку надо делать примерно так: document.f1.r1[2].checked==false.

Ну и плюс исходя из этого можно обойтись без скрытой кнопки - проверять значения просто в цикле.

А пока копал информацию по радиокнопкам, ещё одно решение пришло:

<script language="javascript">
t=0;
function subform() {
if (t=0) {alert();} else {document.f1.submit();}
}

А на каждую радиокнопку установить onclick="javascript:t=1" если радиокнопок не много и страница скриптами не перегружена, то это самое лучшее, имхо.
Пасиба, щас попробую :) 06.04.05 09:33  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2020 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach