我需要使用JavaScript在弹出窗口中的文本框中验证日期格式。我需要显示类似于document.getElementById("MainContent_ErrorMsg").innerHTML = "Please Enter valid date"
的错误消息,而不是使用警报框
有没有其他方法来实现这种行为?
我的JavaScript代码是:
var startdate = document.getElementById("MainContent_uscEventParameters_txtEarliestStartDate");
var enddate = document.getElementById("MainContent_uscEventParameters_txtLatestEndDate");
var validformat=/^\d{4}\-\d{2}\-\d{2}$/;
if (! (startdate.value.match(validformat)) && (enddate.value.match(validforamt)) )
{
alert("please enter valid date format");
//document.getElementById("MainContent_ErrorMsg").innerHTML = "Please enter valid date";
}
答案 0 :(得分:4)
您可以使用简单且纯粹的JavaScript显示元素旁边的消息,而不是显示警告对话框:
function AddErrorLabel(element, msg) {
var oLabel = document.createElement("span");
oLabel.className = "error_msg";
oLabel.innerHTML = msg;
var parent = element.parentNode;
if (element.nextSibling) {
if (element.nextSibling.className !== "error_msg") {
parent.insertBefore(oLabel, element.nextSibling);
}
}
else {
parent.appendChild(oLabel);
}
}
用法:
if (! (startdate.value.match(validformat)) && (enddate.value.match(validforamt)) )
{
AddErrorLabel(startdate, "please enter valid date format");
}
Live test case。 (将文本框保留为空并单击“提交”)
像jQuery这样的库有这样的功能并且要好得多,但是对于简单的需求,这应该是足够的,并且它使用基本的JavaScript,因此跨浏览器。