DatePicker после проверки формы - PullRequest
0 голосов
/ 09 марта 2012

большинство проблем здесь я обнаружил, когда с помощью DatePicker для проверки формы, но у меня есть другая проблема. Таким образом, все работает нормально (средства выбора даты), но когда я проверяю форму и некоторые поля не вставляются, средства выбора даты больше не будут работать. Страница не перезагружается, она проверяется с помощью javascript, и только когда все будет вставлено, форма будет опубликована.

это то, что я использую на своей странице индекса:

( function($) {
    $(document).ready( function() { 
            $("#slider").easySlider({
                auto: true, 
                continuous: true
            });

            $( ".tcal" ).datepicker({
                changeMonth: true,
                changeYear: true,
                showOn: "both",
                minDate: '-122Y',
                maxDate:'0',
                 yearRange: "-122",
                buttonImage: "/images/kalender3.gif",
                buttonImageOnly: true 
            });
              $( ".tver" ).datepicker({
                     changeMonth: true,
                    showOn: "both",
                    buttonImage: "/images/kalender3.gif",
                    buttonImageOnly: true,
                    minDate: '0',
                     maxDate: '+1Y' 
                });
             $('.tcal,.tver').datepicker('option', $.extend({showMonthAfterYear: false},$.datepicker.regional['<?php print(($lng=='1')?'nl':'fr');?>']));
              $('.tcal,.tver').datepicker( "option", "dateFormat", "dd/mm/yy" );
});


} ) ( jQuery );

и .tcal и .tver - два класса с датчиками. Поэтому, когда я нажимаю «отправить», и некоторые поля все еще пусты, я получаю сообщение «некоторые поля все еще пусты». но мои сборщики даты больше не будут работать. Я все еще получаю значок, но без ошибок. Кто-нибудь знает, где я мог ошибиться?

Когда я проверяю элемент, я получаю это:

<input type="text" onblur="correctDateFormat('vertrek')" value="" class="tver hasDatepicker" id="vertrek" name="vertrek">

Вот мой код для отправки:

function checkForm() {
boo_submit = 1;
arr_one = Array("naam", "voornaam", "straat", "postcode", "telefoon","email","vertrek");
arr_drop = Array("dpl_volwassenen","dpl_kinderen", "dpl_babys");
arr_kamers = Array("bf_room_double","bf_room_single","bf_room_triple","bf_room_quadruple");

for (o = 0; o < arr_one.length; o++) {
    if ($("input[name=" + arr_one[o] + "]").val() == "") {
        $("#err_" + arr_one[o]).remove();
        $("input[name=" + arr_one[o] + "]").parent().html(
                $("input[name=" + arr_one[o] + "]").parent().html()
                        + "<span class='sprite spr_error' id='err_"
                        + arr_one[o] + "'></span>");
        boo_submit = 0;
    } else {
        $("#err_" + arr_one[o]).remove();
    }
}

arr_empty_people = new Array();
int_sum_people = 0;
$("select[name^=dpl_]").each(function(){
          str_val = $(this).val();
          str_id = $(this).attr("id");
          $("#err_" + str_id).remove();
          if(str_val!="" && str_val!=0){
                   ++int_sum_people;                      
          }else{
              arr_empty_people.push(str_id);
          }                 
});
if(int_sum_people == 0){
          boo_submit = 0;
          int_limit_room = arr_empty_people.length;                  
          for(r=0;r<int_limit_room;r++){
                   idx_room = arr_empty_people[r];
                   $("#" + idx_room).parent().append("<span class='sprite spr_error' id='err_"+ idx_room + "'></span>");
          }
}

arr_empty_rooms = new Array();
int_sum = 0;
$("select[name^=bf_room_]").each(function(){
          str_val = $(this).val();
          str_id = $(this).attr("id");
          $("#err_" + str_id).remove();
          if(str_val!="" && str_val!=0){
                   ++int_sum;                      
          }else{
                   arr_empty_rooms.push(str_id);
          }                 
});
if(int_sum == 0){
          boo_submit = 0;
          int_limit_room = arr_empty_rooms.length;                  
          for(r=0;r<int_limit_room;r++){
                   idx_room = arr_empty_rooms[r];
                   $("#" + idx_room).parent().append("<span class='sprite spr_error' id='err_"+ idx_room + "'></span>");
          }
}

if ($("input[name=email]").val().indexOf("@") == -1
        || $("input[name=email]").val().indexOf(".") == -1
        || $("input[name=email]").val().indexOf(".") == $(
                "input[name=email]").val().length - 1) {
    $("#err_email").remove();
    $("input[name=email]")
            .parent()
            .html(
                    $("input[name=email]").parent().html()
                            + "<span class='sprite spr_error' id='err_email'></span>");
} else {
    $("#err_email").remove();
}

for (o = 0; o < 6; o++) {

    var parenttr = document.getElementById('tbl_' + o);

    if (parenttr.style.visibility != 'hidden') {
        if ($("input[name=nm_" + o + "]").val() == "" || $("input[name=geb_"+o+"]").val() =="") {
            $("#err_nm"+o).remove();
            var html = document.getElementById('tbl_' + o).innerHTML;
            $("#tbl_"+o).parent().html( $("#tbl_"+o).parent().html()+"<span class='sprite spr_error' id='err_nm"+o+"'></span>");
        }else{
            $("#err_nm"+o).remove();
        }
    } 
}


if (boo_submit == 1) {
    document.form.submit();
} else {
    if ($("#lng").val() == 1)
        alert("Gelieve alle gegevens in te vullen");
    if ($("#lng").val() == 2)
        alert("remplir tous les détails svp");
}

}

...