0
 function isGoodEmail() {
            var email = document.getElementById("<%=txtComapnyEmail.ClientID%>").value;
            if (email == "Email") {
                if (window.isValidEmail(email)) {
                    if (/(aol|gmail|yahoo|hotmail)\.com$/.test(email)) {
                        alert(' valid email, but not for this site.  No free service emails!');
                        return false;
                    }
                    return true;
                }
                return false;
            }

按钮代码:

<asp:Button runat="server" class="button-orange" Text="Confirm and start my company page"
                                ID="Companystart" OnClick="CompanystartClick" OnClientClick="isGoodEmail" />

我正在从按钮调用上面的 JavaScript,但它没有验证电子邮件。即使输入gmail它也被接受。

4

2 回答 2

0

如果你OnClientClick="return isGoodEmail()"说它会工作,它会调用 JavaScript 代码。

但是假设您将“gmail”作为电子邮件的文本,那么 if 条件

if (email == "Email")

为假,因此内部没有执行或返回任何内容,因此感觉就像没有调用 JavaScript

尝试使用firebug调试和断点js代码

于 2012-11-22T06:17:04.027 回答
0

使用以下

 <asp:Button runat="server" class="button-orange" Text="Confirm and start my company page"
                            ID="Companystart" OnClick="CompanystartClick" OnClientClick="return isGoodEmail()" />

在您的客户点击功能调用OnClientClick="return isGoodEmail()"之前,您缺少“返回”

正如您在 java 脚本中编写的 return true 和 false 一样,在您的函数调用中,函数名之前也应该有 return。

为了更好地了解return true and false您,可以通过此链接

在点击事件监听器中添加“return false”有什么效果?

- -编辑

 function isGoodEmail() {
        alert("In the beginning");
        var email = document.getElementById("<%=txtComapnyEmail.ClientID%>").value;
        alert(email);
        if (email == "Email") {

            if (window.isValidEmail(email)) {
                if (/(aol|gmail|yahoo|hotmail)\.com$/.test(email)) {
                    alert(' valid email, but not for this site.  No free service emails!');
                    return false;
                }
                return true;
            }
            return false;
        }
于 2012-11-22T05:46:54.433 回答