在我使用datepicker
之前,当我手动将日期写入输入字段时,它就起了作用,如下所示:2016-01-10
。但当我切换到datepicker
时,由于某种原因,数据没有提交。
我的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>
由于手动将日期值设置为yyyy-mm-dd格式时可以工作,因此首先要检查的是从日期选择器获取的值是否也是这种格式。看看你的日期选择器配置,我突然想到的是,你的格式设置为yy-mm-dd。也许改成yyyy-mm-dd?在设置日期值时,标准SQL要求日期为yyyy-mm-dd格式。