0
window.onload = init;

function init() {
var button = document.getElementById("addButton");
button.onclick = handleButtonClick;
}

function handleButtonClick(e) {
var textInput = document.getElementById("dateTextInput");
var dateString = textInput.value;
var parsedDate = Date.parse(dateString);
var dateValue = new Date(parsedDate);
var valid = !isNaN(dateValue);

if (!valid) {
    alert("Please enter a valid date");
} else {
    alert(dateValue);
}
e.preventDefault();
}
}

它现在起作用,但不能按回车(回车)。我必须感谢皮特在我能理解的地方写了这篇文章。

4

1 回答 1

0

部分问题是e未定义为处理程序的参数。

function handleButtonClick() {
    e.preventDefault(); // e is undefined and this line will not work
}

确保e是一个定义的参数:

function handleButtonClick(e) {
    e.preventDefault(); // e is now defined and will work as expected
}

要获取解析日期,只需使用该变量:

alert(dateValue);

这是一个有助于澄清这一点的小提琴:http: //jsfiddle.net/mZ9SQ/

于 2013-06-02T18:32:23.303 回答