Вопрос по jquery – Проверка JQuery: запретить отправку формы

25

Используя плагин jQuery Validation, я пытаюсь проверить свою форму. Когда проверка пройдена, я хочу, чтобы JavaScript запускался со значениями из формы, а затем останавливался. нет фактической отправки формы с просмотром на новый / тот же сайт.

это возможно с проверкой JQuery?

Ваш Ответ

4   ответа
3
$("#form").validate({
  rules: {...},
  submitHandler: function(form, event) { 
    event.preventDefault();
    alert("Do some stuff...");
    //submit via ajax
  }
});
Error: User Rate Limit Exceeded
submitHandlerError: User Rate Limit ExceededinvalidHandlerError: User Rate Limit Exceeded
45

Вы можете попробовать это (пример):

$(function(){
    $("#myform").validate();    
    $("#myform").on('submit', function(e) {
        var isvalid = $("#myform").valid();
        if (isvalid) {
            e.preventDefault();
            alert(getvalues("myform"));
        }
    });
});

function getvalues(f)
{
    var form=$("#"+f);
    var str='';
    $("input:not('input:submit')", form).each(function(i){
        str+='\n'+$(this).prop('name')+': '+$(this).val();
    });
    return str;
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededvalid()Error: User Rate Limit Exceededreturn falseError: User Rate Limit Exceedede.preventDefault()Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceedednot valid()Error: User Rate Limit Exceeded
6

Существует метод с именем .valid (), который возвращает true в случае, если в вашей форме нет ошибок, поэтому вы можете сначала проверить это, а затем отправить форму здесь, в документации.

http://docs.jquery.com/Plugins/Validation/valid

Error: User Rate Limit ExceededtrueError: User Rate Limit Exceeded
9

Да:

$("form").submit(function(event) {
    if (somethingIsInvalid) { 
      event.preventDefault();
    }
});

Похожие вопросы