Функция $ .ajax () не работает - PullRequest
0 голосов
/ 23 ноября 2010

Я сделал проверку формы с помощью jquery со следующим кодом

$('#save').click(function(){

    $.ajax({
        url: "../scripts/availability.php",
        type: "POST",
        cache: false,
        data:{
            stamp:           $("#stamp").val(),
            jprefix:         $("#jprefix").val(),
            tprefix:         $("#tprefix").val(),
            starting_date:   $("#starting_date").val(),
            ending_date:     $("#ending_date").val(),
            starting:        $("#starting").val(),
            ending:          $("#ending").val(),
            colab_id:        $("#colab_id").val(),
            id:              $("#id").val(),
            session_id:      $("#session_id").val()
        },
        dataType: "html",
        success: function(msg){
            if($(msg).html()==1){
                if($("#starting").val() < $("#ending").val() && valDate()){
                    $("#serviceForm").submit();
                }else{
                    alert ("Conflicto na data ou hora do serviço");
                }
            }else{
                alert("Sobreposição de Colaborador");
            }
        }
    });
});
function valDate(){
    if($("#starting_date").length){
        if($("#starting_date").val() <= $("#ending_date").val()){
            return true;
        }else{
            return false;
        }
    }else{
        return true;
    }
}

иногда форма отправляется без надлежащей проверки

Ответы [ 2 ]

0 голосов
/ 25 ноября 2010

Я уже выяснил, что не так с валидациями .... все работало должным образом, за исключением сопоставления значений ... в том виде, в котором они имеют значения int .... но при этом значениеJS получает его как строку ... что приводит к странным сравнениям ... а для ajax само по себе это просто еще одна часть проверки, предотвращающая перекрывающиеся схемы

0 голосов
/ 23 ноября 2010

Предполагая, что ваш обработчик события click на #save является кнопкой отправки формы, похоже, что форма будет отправляться нормально (не через Ajax), поскольку это поведение по умолчанию. Вам нужен явный "return false" в обработчике кликов

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