0

我在客户端有一个电子邮件验证码。它在 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 也不起作用)

4

2 回答 2

1

innerText不是跨浏览器,firefox使用textContent

你可以使用这样的函数:

function changeText(elem, changeVal) {
    if ((elem.textContent) && (typeof (elem.textContent) != "undefined")) {
        elem.textContent = changeVal;
    } else {
        elem.innerText = changeVal;
    }
}

或者只是使用innerHTML.

于 2013-01-28T16:08:26.653 回答
0

最好你试试innerHTML ..它会工作的..

document.getElementById('errorEmailAddress').innerHTML = "Error Message";
于 2013-01-28T16:18:18.400 回答