Метод Jquery .valid () заставляет форму отображать подсвеченные поля при загрузке - PullRequest
1 голос
/ 16 июня 2011

Я написал скрипт, который должен запускаться только при отправке, если форма верна. По сути, пользователь заполняет форму на вкладке, а затем, если форма действительна, скрипт запускает и показывает следующую вкладку и автоматически перемещает пользователя к ней. Вот скрипт:

var $tabs = $('#tabs').tabs();
    if ($('#quoteform').valid() == true) {
                    $('#submitbutton').click(function () {                
                        unhidetab();
                        $tabs.tabs('select', 2);
                        return false;               
                    });
                }

Скрипт работает по мере необходимости, но есть проблема. При загрузке страницы он автоматически выделяет поля как недействительные. Есть ли способ написать это так, чтобы он все еще функционировал, но автоматически не выделял обязательные поля как недействительные при загрузке страницы? Спасибо.

Ответы [ 4 ]

1 голос
/ 16 июня 2011

Я думаю, что вы должны связать скрипт с кнопкой отправки, в противном случае он выполняется при запуске (на document.ready (), я полагаю)

$('#submitbutton').click(function (event) {                
   if ($('#quoteform').valid() === true) {
      //submit the form or do what you want
   }else{
      event.preventDefault();//avoid submitting the form 
   }
});
0 голосов
/ 11 апреля 2012

Обновление: возникла проблема со скриптом jquery, на который мы ссылались.

0 голосов
/ 16 июня 2011
  1. удаление вашей функции из события jQuery onLoad: $ (document) .ready (function () {...
  2. переместить его на новый функция validateMyForm () {...
  3. активируйте эту функцию, когда пользователь изменяет поля формы:
<input type="text" onkeyup="validateMyForm()" onblur"validateMyForm()">
0 голосов
/ 16 июня 2011

Вы хотите подтвердить поле только отправить страницу? Если да, я думаю, вам нужно изменить ваш скрипт:

var $tabs = $('#tabs').tabs();

$('#submitbutton').click(function () {                
    if ($('#quoteform').valid() == true) {
        unhidetab();
        $tabs.tabs('select', 2);
        return false;               
    } 
});

// Извините за мой английский, я бразилец.

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