2012-04-24 35 views
2

警報框我需要驗證日期格式在文本框內彈出使用JavaScript。我不需要使用警報框,而需要顯示與document.getElementById("MainContent_ErrorMsg").innerHTML = "Please Enter valid date"類似的錯誤消息。
是否有任何其他方法來實現此行爲? 我的JavaScript代碼是:如何添加errormessages而不是彈出使用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

我想用類似的DIS在彈出的document.getElementById(「MainContent_ErrorMsg」)的innerHTML =「請輸入有效的日期」; ..有任何其他的方式,而不是警告。 – kk1076 2012-04-24 08:01:46

+0

不確定你用其他方法表示的意思。你還想怎麼顯示錯誤? – booyaa 2012-04-24 08:02:31

回答

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因此跨瀏覽器。

+0

+1不使用jQuery。 – 2012-04-24 08:30:30

相關問題