Проверка формы Jquery, возврат пользователя в обязательное поле - PullRequest
0 голосов
/ 08 сентября 2010

Когда пользователь пытается отправить форму без ввода данных в обязательное поле (класс = "обязательный"), поле выделяется и получает фокус За исключением случаев, когда поле является опцией выбора. Поле подсвечивается, но пользователь не возвращается в поле. В этом случае пользователь должен прокрутить вверх.

Мне нужна форма для прокрутки вверх до выделенного поля, как и для других типов ввода. Кто-нибудь знает решение для этого?

ТИА.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2010

Я бы сделал это с тегами привязки.Создайте привязку для каждого необходимого входа.Проверьте необходимые входы.Если вы нашли пустое место, перейдите на соответствующий якорь.

<html>
  <head>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("jquery", "1");
    </script>
    <script type="text/javascript">
      function jumpToRequired() {
        $("input.required").each(function() {
          var input = $(this);
          if (!input.attr("value")) {
            window.location.hash = input.attr("id") + "_a";
            return;
          }
        });
      }
  </script>
  </head>
  <body>
    <a name="whatever_a"></a>
    <input type="text" id="whatever" class="required" />
    <button type="button" onclick="jumpToRequired()">Jump to required.</button>
  </body>
</html>
0 голосов
/ 08 сентября 2010

Вы пробовали что-то подобное?Это прокручивает меня к вершине, где выбор находится в Firefox / Safari / Chrome.

$('#form').submit(function(e) {
    if (yourSelectFailsValidaton) {
        e.preventDefault();
        $('select').focus();
    }
});

http://jsfiddle.net/9YwDF/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...