2016-01-10 5 views
1

Он работал до того, как я использовал datepicker, когда я написал в дату вручную в поле ввода, например: 2016-01-10. Но когда я переключился на datepicker, данные по какой-то причине не отправляются.Не удалось отправить JQuerys datepicker в mysql

Мой HTML-форм:

 <form class="w3-container"> 

      <p> 
      <label>Titel:</label> 
      <input class="w3-input" type="text" id="eTitel"></p> 

      <p> 
      <label>Description:</label> 
      <input class="w3-input" type="text" id="eDesc"></p> 

      <p> 
      <label>From:</label> 
      <input class="w3-input" type="text" id="datepicker1" name="datepicker1"></p> 

      <p> 
      <label>To:</label> 
      <input class="w3-input" type="text" id="datepicker2" name="datepicker2"></p> 

      <br> 
      <input type="button" id="button2" value="add+"> 

     </form> 

Мой код PHP:

<php 

     if(isset($_POST["titel"]) && strlen($_POST["titel"])> 0 && isset($_POST["descritption"]) && strlen($_POST["descritption"])> 0 && isset($_POST["date"]) && strlen($_POST["date"])> 0 && isset($_POST["todate"]) && strlen($_POST["todate"])> 0){ 
     $u_id = 1; 
     $titel = $_POST["titel"]; 
     $descritption = $_POST["descritption"]; 
     $date = $_POST["date"]; 
     $todate = $_POST["todate"]; 


     $postInsert2 = $link-> query("INSERT INTO Experiences (u_id, titel, descritption, date, todate) VALUES ('$u_id','$titel','$descritption','$date','$todate')"); 
      if($postInsert2){ 
       echo "succefully inserted into Experiences"; 
       $link->close(); 

      } 

    } 

?> 

Мой Javascript код:

<script> 
$(function() { $("#datepicker1").datepicker({ 

    dateFormat: 'yy-mm-dd', 


    }); 
    $("#datepicker1").on("change",function(){ 
    date = $(this).val(); 
    alert(date); 
}); 

}); 

$(function() { 
    $("#datepicker2").datepicker({ 

    dateFormat: 'yy-mm-dd', 

    }); 
    $("#datepicker2").on("change",function(){ 
    todate = $(this).val(); 
    alert(todate); 
    }); 

}); 

    $("#button2").click(function(){ 

    var titel = $("#eTitel").val(); 
    var descritption = $("#eDesc").val(); 
    var date = $('input[name=datepicker1]'); 
    var todate = $('input[name=datepicker2]'); 

    if(titel == " " && descritption == " " && date == " " && todate == " ") 
    { 
     alert("values are missing"); 
    } 

    else{ 
     $.ajax({ 
      type:"POST", 
      url: "olle.php", 
      data:{ 

       titel: titel, 
       descritption: descritption, 
       date: date, 
       todate: todate, 

      }, 
      success: function (msg){ 

       $("#eTitel").val(""); 
       $("#eDesc").val(""); 
       $("#datepicker1").val(""); 
       $("#datepicker2").val(""); 
      }, 
      error: function(){ 

       alert("error didnt insert"); 

      } 

     }); 

    } 

}); 



    </script> 

ответ

1

Поскольку это работает, когда вы вручную установить значение даты в yyyy-mm-dd, первое, что нужно проверить, это то, что значение, полученное от datepicker, также находится в этом формате. Глядя на вашу конфигурацию datepicker, то, что выпрыгивает на меня, заключается в том, что у вас установлен формат yy-mm-dd. Может быть, измените это на yyyy-mm-dd? Стандартные SQL будут ожидать даты в формате yyyy-mm-dd при настройке их значений.

Смежные вопросы