Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2012, 18:48   #1
Andrody
Пользователь
 
Регистрация: 27.01.2012
Сообщений: 23
Стрелка Проблема с javascript

Доброго дня.
Javascript начал изучать только позавчера, по этому если вопросы будут откровенно глупые прошу меня простить.

Я написал маленькую форму и скрипт к ней.
Скрипт должен запускать alert если ни один из флажков не поставлен пользователем.

А теперь проблема.

на Linux Ubuntu 12.04:
Mozzila Firefox 14.0.1 - делает всё как надо
Chromium 18.0.1025.168 - ВЫДАЕТ ALERT ДАЖЕ ЕСЛИ ВЫБОР СДЕЛАН!

на Windows 7:
Mozzila Firefox 14.0.1 - всё как надо
Opera 11.64 - тоже всё как надо
Сhrome 21.0.1180.60 - ТОЖЕ ВЫДАЕТ ALERT ДАЖЕ ЕСЛИ ВЫБОР СДЕЛАН!

IPod 4G 5.1.1 OS jailbreaked:
Safari - ТОЖЕ САМОЕ, ALERT ДАЖЕ ЕСЛИ ВЫБОР СДЕЛАН!

Помогите пожалуйста.
В чем проблема?

Код моей странички:
Код HTML:
<meta lang="ru" charset="utf-8">
<title>Тест №1</title>
<html>
<head>
<title>Info</title>

<link rel="stylesheet" type="text/css" href="style.css">

<script language="javascript">
var h=0;
function f(a)
{
if(h==1)h=0;
else{if(a==1)h=1;
else alert("Пожалуйста, выберите вариант ответа.");}
}
</script>

<form name="form1" method="post">
<strong>Любите ли Вы дождь?</strong><br />
<input name="a1" type="radio" value="1"
onFocus=f(form1.elements[0].value)>Да<br />
<input name="a1" type="radio" value="1"
onFocus=f(form1.elements[0].value)>Нет<br />  
<input name="submit" type="submit" value="Отправить" onClick="f()"> 
</form>  

</body>
</html>

Последний раз редактировалось Andrody; 05.08.2012 в 18:52.
Andrody вне форума Ответить с цитированием
Старый 05.08.2012, 19:52   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Вы хоть сами можете прокомментировать свой код? По-моему вы даже не понимаете, что там происходит
Код:
function checkRadioButtons(){
    var elements = document.getElementsByName("a1");

    for ( var i = 0, j = elements.length; i < j ;  i++)
        if (elements[i].checked)
           return;

    alert("Пожалуйста, выберите вариант ответа.");
}
НО! Группа радиобаттонов по идее должна всегда иметь хотя бы 1 выбранный элемент

Последний раз редактировалось Cronos20; 05.08.2012 в 19:55.
Cronos20 вне форума Ответить с цитированием
Старый 05.08.2012, 20:40   #3
Andrody
Пользователь
 
Регистрация: 27.01.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Вы хоть сами можете прокомментировать свой код? По-моему вы даже не понимаете, что там происходит
Код:
function checkRadioButtons(){
    var elements = document.getElementsByName("a1");

    for ( var i = 0, j = elements.length; i < j ;  i++)
        if (elements[i].checked)
           return;

    alert("Пожалуйста, выберите вариант ответа.");
}
НО! Группа радиобаттонов по идее должна всегда иметь хотя бы 1 выбранный элемент
Спасибо большое.
Я очень долго ломал над ним голову. Там типа два раза вызываеться функция если что-то уже выбрали, так как onFocus и onClick по одному разу вызывают функцию f(), флаг h запоминает что был сделан выбор onFucos-ом, и на второй раз, принажатии onClick обнуляеться h, недавая выполнения alert, если нет, то один раз проходит onClick через два элса, прям к alert-у.
Такова была идея на пальцах.

Последний раз редактировалось Andrody; 05.08.2012 в 22:05.
Andrody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с JavaScript модуля Zymic JavaScript, Ajax 3 17.01.2012 09:09
Проблема с выполнением javascript Ukraine JavaScript, Ajax 1 01.01.2012 00:22
проблема с javascript в explorer davl67 Помощь студентам 2 03.10.2010 10:03
проблема с таймером javascript storm296 JavaScript, Ajax 1 03.08.2010 15:38
JavaScript. Проблема с GetElementById kirill555 Помощь студентам 1 14.02.2008 12:30