cancelBubble и форма
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



cancelBubble и форма Expand / Collapse
Автор
Сообщение
30.10.2006 14:59
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.05.2008 14:00
Сообщ.: 69, Visits: 538
Такая вот проблема.

Имеет место быть форма с кнопкой типа submit. Нужно выполнить проверку полей на стороне клиента перед отправкой на сервер данных формы. Если проверка проходит - отправляем, нет - сообщаем о неверных полях в alert-е. Я делаю вот так:

<script language="JScript">

function check_fields(Sender)

{

   // если проверка не проходит, делаем cancelBubble

   if (! ... проверка ... )  {

      Sender.cancelBubble = true;

      alert("...");

  }   // end if

}

</script>

...

   <input type="submit" onclick="check_fields(this)">

...

Что-то не получается. Данные проверяются, и в любом случаю отправляются на сервер. Что посоветуете?

Сообщ. #906652
30.10.2006 15:06
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Используй событие формы onsubmit. Оно работает во всех браузерах.

<form onsubmit="return validateMe(this)">
...
<input type="submit">
</form>

<script type="text/javascript">
function validateMe(f)
{
  if (условие)
  {
    alert("Ошибка!");
    return false;
  }
  return true;
}
</script>

Сообщ. #906653
30.10.2006 15:49
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.05.2008 14:00
Сообщ.: 69, Visits: 538
ок. попробую. о результатах доложу....
Сообщ. #906657
30.10.2006 17:23
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.05.2008 20:04
Сообщ.: 269, Visits: 2 381
ещё вариант =)

<html>

<head><title> </title>

<script>

function A() { 

var aazgz=prompt("Название новой темы:", 'Новая тема');
if (aazgz) {
document.form4.renamz4.value="общее";

document.form4.idasda4.value=aazgz;
document.form4.selecnum4.value=4;
document.form4.submit();
}

}

</script>

</head>

<body>

<a href='javascript:A()'>Создать новую тему</a>

<form name="form4" action="index.php" method="POST">
<input type="text" name='renamz4' value="">
<input type="text" name='idasda4' value="">
<input type="text" name='selecnum4' value="">
</form>

</body>

</html>

----------------------------------
Я безработный...
Возьмите меня на работу. =)

Сообщ. #906682
31.10.2006 15:44
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.05.2008 14:00
Сообщ.: 69, Visits: 538
Всё получилось. Спасибо. Я вместо кнопки типа Submit поставил обычную, button, и на нее навесил функцию проверки.
Сообщ. #906717
31.10.2006 15:50
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
А чем тебя атрибут onsubmit не устроил? И ведь когда в форме нет кнопки sumbit она по Enter не будет автоматически отправляться.
Сообщ. #906718
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:13