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

以下を使用してください

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

クライアントクリック関数がOnClientClick="return isGoodEmail()"を呼び出す前に'return'がありません

java-scriptでreturntrueとfalseを記述したので、関数呼び出しでも関数名の前にreturnが必要です。

あなたのより良い理解のためにreturn true and falseこのリンクを通過することができます

クリックイベントリスナーに「returnfalse」を追加するとどのような影響がありますか?

- -編集

 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 に答える
0

うまくOnClientClick="return isGoodEmail()"いくと、JavaScript コードが呼び出されます。

しかし、「gmail」を電子メールのテキストとして入力すると、if 条件

if (email == "Email")

は false であるため、内部で何も実行されたり返されたりしないため、JavaScript が呼び出されていないように感じます

firebug を使用して js コードをデバッグおよびブレークポイントしてみてください

于 2012-11-22T06:17:04.027 に答える