русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

.submit( handler(объектСобытия) )

Возвращает: jQuery

Описание: Привязывает обработчик события к событию "submit" JavaScript, или вызывает данное событие на элемент.

.submit( handler(объектСобытия) )

Добавлена в версию: 1.0
handler(объектСобытия)
Функция выполняется каждый раз, когда вызывается событие.

.submit( )

Добавлена в версию: 1.0

.submit( [ данныеСобытия ], обработчик(объектСобытия)

Добавлена в версию: 1.4.3
данныеСобытия
Карта данных, которая будет передана в обработчик событий.
обработчик(объектСобытия)
Функция для выполнения каждый раз, когда событие вызвано.

Этот метод является сокращением для .bind('submit', handler) в первом варианте, и .trigger('submit') во втором.

Событие submit посылается элементу, когда пользователь пытается послать форму. Событие может быть привязанно только к элементам <form>. Формы могут быть посланны либо после явного нажатия <input type="submit">, <input type="image">, или <button type="submit">, или нажатием Enter, когда определенный элемент формы сфокусирован.

В зависимости от браузера, только кнопка Ввода может быть причиной отправки формы, если форма имеет только одно текстовое поле, или только когда в форме представленна кнопка отправки. Интерфейс не должен полагаться на особенности поведения данной кнопки, если только выдача не вынужденная, путем наблюдения события keypress для передачи кнопки Ввода.

Для примера, рассмотрим HTML:

<form id="target" action="destination.html">
  <input type="text" value="Hello there" />
  <input type="submit" value="Go" />
</form>
<div id="other">
  Trigger the handler
</div>

Обработчик события может быть привязан к форме:

$('#target').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});

Теперь, когда форма отправленна, будет выдано сообщение. Это происходит до фактической отправки, поэтому мы можем отменить действие отправки с помощью вызова .preventDefault() на объект события или с помощью возвращения false от обработчика. Мы можем инициировать событие вручную, когда другой элемент нажат:

$('#other').click(function() {
  $('#target').submit();
});

После выполнения этого кода, нажатие на Trigger the handler также выдаст сообщение. В дополнение, действие на форму по умолчанию submit будет запущенно, таким образом форма будет отправленна.

Событие JavaScript submit не передается в Internet Explorer. Тем не менее, сценарии, которые основанны на событии делегирования с событием submit работают последовательно через браузеры только начиная с jQuery 1.4, которая нормализует поведение события.

Примеры

Пример 1

Для того, чтобы запретить отправку форм, если не установлена какая-либо переменная, попробуйте:
    $("form").submit(function() {
      if ($("input:first").val() == "correct") {
        $("span").text("Validated...").show();
        return true;
      }
      $("span").text("Not valid!").show().fadeOut(1000);
      return false;
    });
Результат выполнения кода выше:

Пример 1 - Полный код:

<!DOCTYPE html>
<html>
<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript" language="javascript">
  $(document).ready(function(){
    $("form").submit(function() {
      if ($("input:first").val() == "correct") {
        $("span").text("Validated...").show();
        return true;
      }
      $("span").text("Not valid!").show().fadeOut(1000);
      return false;
    });
  });
  </script>
  <style>
  p { margin:0; color:blue; }
  div,p { margin-left:10px; }
  span { color:red; }
  </style>
</head>
<body>
  <p>Type 'correct' to validate.</p>
  <form action="javascript:alert('success!');">
    <div>
      <input type="text" />
      <input type="submit" />
    </div>
  </form>
  <span></span>
</body>
</html>

Пример 2

Для того, чтобы запретить отправку форм, если не установлена какая-либо переменная, попробуйте:
$("form").submit( function () {
  return this.some_flag_variable;
} );

Пример 3

Для вызовы события submit для первой формы на странице, попробуйте:
$("form:first").submit();
Была ли эта информация полезной?
   

Комментарии