Jquery и плагин Validate, тестирование на отсутствие ошибок - PullRequest
0 голосов
/ 13 августа 2011

Я, очевидно, сделал что-то глупое или не смог понять какой-то фундаментальный процесс. Очень ранние дни, играя с этим.

Я пытаюсь проверить, проверяется ли форма при нажатии кнопки «Отправить» методом onClick.

<input class="submit" type="submit" value="Submit" onClick="submitForm()" />

Я использую Jquery и плагин Validate. У меня возникает проблема с проверкой каждого поля, но если я нажимаю на кнопку отправить без данных или не все поля были проверены, мне нужно будет проверить всю форму целиком, перед отправкой я должен получить возвращение false от validate().form(). Этого не происходит, так как оператор else в submitForm() никогда не выполняется.

В пустой форме после нажатия submit отображаются сообщения об ошибках поля, но мое тестирование возврата на false, похоже, не работает.

$(document).ready(function() {
    $('#formEnquiry').validate();
});

function submitForm() {
    $('#msgid').append('<h1>Submitting Form (External Routine)</h1>');
    if ($('#formEnquiry').validate().form()) {
        $("#msgid").append("<h1>(Outside Ready) VALIDATED send to PHP</h1>");
    }
    else {
        $('#msgid').append('<h1>(Outside Ready) NOT VALIDATED</h1>');
    }
};

1 Ответ

0 голосов
/ 14 августа 2011

Пример Ajax

$(function() {
$("#ipenter").submit(function() {
    var ip = $("#ip").val(); 
    var date = $("#date").val(); 
    var spammer = $("#spammer").val(); 
    var country = $("#country").val(); 
    var total = $("#total").val(); 

    var dataString = $('#ipenter').serialize();


        $.ajax({
            url: "/test/process",
            data: dataString,
            type: "POST",
            success: function(msg) {                        
            $('#ipenter').append('<h3 class="gotin">Post succesfull!');
            $('h3.gotin').delay(8000).fadeOut(500);                   
        },
            error: function(data){
            $('#ipenter').prepend('<h3 class="didnt">Post sucked!');
            $('h3.didnt').delay(8000).fadeOut(500);
        }        
    });
    return false;
});

});

Вам даже не нужна часть val ()

Вы также можете добавить некоторую проверку в этот скриптдо ajax

if (spammer == "") {
        $("#spammer_error").show();
        $("input#image").focus();
  return false;

Это базовый пример ajax (я использую codeigniter, поэтому вам может понадобиться использовать действительный URL для URL)

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