我在客户端有一个电子邮件验证码。它可以在IE中正常工作,但在某种程度上不会在Firefox中显示错误消息。
以下是代码:
<asp:ImageButton ID="btnLink" runat="server" AlternateText="ClickHere" OnClientClick="return onCClick();" OnClick="btnLink_Click"/>
<div id="errorEmail" runat="server"></div>
//function to validate
function onCClick() {
//clear error message
document.getElementById('<%=errorEmail.ClientID%>').innerText = "";
//if validation fails
if (validateEmail() != true) {
//show error message
document.getElementById('<%=errorEmail.ClientID%>').innerText = "Invalid Email Address.";
return false;
}
}
function validateEmail() {
var emailId = document.getElementById('<%=txtEmail.ClientID%>').value;
var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
return emailPattern.test(emailId);
}
有什么我应该照顾的吗?我的错误消息div设置为空白但在任何地方都不可见(在这种情况下,javascript也不会起作用)
答案 0 :(得分:1)
innerText
不是跨浏览器,firefox使用textContent
您可以使用以下功能:
function changeText(elem, changeVal) {
if ((elem.textContent) && (typeof (elem.textContent) != "undefined")) {
elem.textContent = changeVal;
} else {
elem.innerText = changeVal;
}
}
或只使用innerHTML
。
答案 1 :(得分:0)
最好你尝试使用innerHTML ..它会起作用..
document.getElementById('errorEmailAddress').innerHTML = "Error Message";