2012-04-25 2 views
2

Я использую плагин проверки JQuery для проверки форм в своем приложении. Он работает хорошо, когда кнопка имеет тип «submit». Однако у меня есть одна форма, в которой мне нужны данные, которые должны быть представлены с использованием JQuery.Ajax, поэтому я использую простой <input type='button'>. Но тогда валидация не будет работать. Вот рабочий код-Плагин проверки JQuery не работает с простой кнопкой

<head> 
<script> 
$(document).ready(function(){ 
    $("#some_form").validate({}); 
}); 
</script> 
</head> 
<body> 
<form name='some_form' id='some_form'> 
<!-- Form Fields --> 
<input type='submit' value='Submit'> 
</form> 
</body> 

Приведенный выше код работает, однако, когда я ставлю это в коде <input type='button' value='Submit'>, он не работает.

Кто-нибудь есть идеи, как заставить это работать?

+0

привет, я думаю, вы должны дать ** имя ** и ** ** Идентификатор элемент кнопки отправки .. – Chandresh

+0

являются U уверены, что Validate() собирается быть дано как Validate ({}) ... –

+0

@lakshmipriya да, я не думаю, что это проблема, так как код работает нормально с кнопкой отправки – skos

ответ

1

AFAIK, плагин проверки jQuery предназначен для работы только при срабатывании отправки; таким образом, когда у вас есть тип «кнопка» на вашем элементе ввода, форма фактически не отправляется, и поэтому проверка не выполняется. Есть ли причина, по которой вы не хотите иметь тип «отправить»?

Edit обратиться комментарий: Для того, чтобы использовать Ajax, но все-таки есть «представить» тип кнопки, можно использовать опцию «submitHandler» аргументов плагина ... как это:

$("#some_form").validate({ 
     submitHandler: function(form) { 
     ... ajax stuff here ... 
    } 
}); 

Это аннулирует фактическая публикация формы, но все равно будет инициировать событие отправки, чтобы проверка выполнялась.

+0

ну, я хочу использовать Ajax, я не хочу, чтобы страница обновлялась при отправке данных – skos

1

Все права защищены. Наверное, я нашел ответ. Поэтому я размещаю его здесь, если кому-то это понадобится. Вот код

<head> 
<script src="jquery.js" type="text/javascript"></script> 
<script src="jquery.validate.js" type="text/javascript"></script> 
<script> 
$(document).ready(function(){ 
    $('#button_id').click(function() { 
    if ($("#some_form").validate().form() == true) 
     { 
      // Call Ajax Here 
     } 
    }); 
}); 
</script> 
</head> 
<body> 
<form name='some_form' id='some_form'> 
<!-- Form Fields --> 
<input type='button' id='button_id' value='Submit'> 
</form> 
</body> 
Смежные вопросы