【发布时间】:2016-07-05 09:37:00
【问题描述】:
我正在尝试使用 Eonasdan 的 bootstrap-datetimepicker 制作一个简单的预订日历,该日历基于 moment.js 库构建,我包含了本地化文件。我设置了一个基本的链接选择器输入字段和一个按钮,以使用简单的 ajax 请求发送一封带有日期的电子邮件。但是,在提交表单时,我收到以下错误:
// locale-hr.js(第 89 行,第 1 列)
TypeError: this is undefined switch (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 = 'my@email.com';
$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 没有可引用的对象,或者我做错了什么,或者这是需要修复的已知问题(谷歌没有提供给我任何东西)。这是jsfiddle,但没有ajax调用,因为我以前从未使用过小提琴,现在不知道如何设置它。我可能稍后会回来弄清楚并添加它。
如果我应该扩展问题,请通知我。谢谢。
【问题讨论】:
-
它是否适用于其他语言环境(例如英语)?
-
嗯,尝试使用 en-gb 并似乎通过了上述错误,但出现了另一个错误:
TypeError: this is undefined ...ts).parseZone()}function _b(a,b,c){var d=this._calendar[a];return"function"==typ...- (moment.min.js line 6 col 20621)
标签: javascript ajax momentjs bootstrap-datetimepicker