我正在尝试使用Eonasdan的bootstrap-datetimepicker创建一个简单的预订日历,该日历是基于moment.js
包含本地化文件的库构建的。我设置了一个基本的链接选择器输入字段和一个按钮,以使用简单的ajax请求发送带有日期的电子邮件。但是,提交表单后,出现以下错误:
// locale-hr.js(第89行,第1行)
TypeError:这是未定义的开关(this.day()){
文件摘录(第88-102行):
nextWeek : function () {
switch (this.day()) {
case 0:
return '[u] [nedjelju] [u] LT';
case 3:
return '[u] [srijedu] [u] LT';
case 6:
return '[u] [subotu] [u] LT';
case 1:
case 2:
case 4:
case 5:
return '[u] dddd [u] LT';
}
},
没有发送电子邮件,但从日历中获取日期。
这是我的ajax文件:
$(function() {
$("#reservationForm").on("submit", function(e) {
e.preventDefault();
var url = "../bin/reservation.php";
// stores dates from each calendar
var date1 = $("#datetimepicker1").data("DateTimePicker").date();
var date2 = $("#datetimepicker2").data("DateTimePicker").date();
$.ajax({
type: "POST",
url: url,
data: { date1: date1, date2: date2 },
}).done(function(response) {
alert("Msg sent");
});
});
});
和PHP文件:
<?php
if ( empty($_POST['date1']) || empty($_POST['date2']) ) {
echo ERROR_NO_ARGS;
return false;
}
$date1 = $_POST['date1'];
$date2 = $_POST['date2'];
$to = '[email protected]';
$email_subject = "Title";
$email_body = "Selected dates:" . "From $date1 to $date2";
$headers = "From: Contact form\n";
$headers .= "Content-Type: text/plain; charset=utf-8" . "\r\n";
mail($to, $email_subject, $email_body, $headers);
return true;
?>
如您所见,这是非常基本的东西。我想知道我在这里缺少什么,以便locale-hr.js没有对象可以引用,或者我做错了什么,或者是否需要解决此已知问题(Google并没有提供给我任何东西)。这是jsfiddle,但是没有ajax调用,因为我以前从未使用过fiddle,现在还不知道如何设置它。我可能稍后再回来弄清楚并添加它。
如果我要扩展问题,请告知我。谢谢。
Eonasdan的bootstrap-datetimepickerdate
方法返回一个moment对象,因此您试图将jQuery无法序列化的对象发送到服务器(请参阅参考资料)。您必须更改发送到服务器的类型,您可以:jQuery.ajax
data
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句