如何使用javascript弹出错误消息而不是警告框

时间:2012-04-24 07:52:43

标签: javascript asp.net popup

我需要使用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";
    }

1 个答案:

答案 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,因此跨浏览器。