2012-11-22 23 views
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; 
      } 

按钮代码:的JavaScript在ASP.NET中没有发射

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

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

+0

根据您的文章,其“射击”完全按照你写的。如果你用'if(email ==“Email”)'键入'gmail''为什么你会认为它会做任何事情?什么是window.isValidEmail? – EdSF

回答

0

使用以下

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

你缺少你的客户的点击函数调用之前“回归” 的OnClientClick =“返回isGoodEmail()”

当你写回真和假的java-script在你的函数调用中也应该在函数名前面返回。

为了更好地理解return true and false你可以通过这个链接

What's the effect of adding 'return false' to a click event listener?

---编辑

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; 
     } 
+0

尝试但脚本不工作 –

+0

在你的java脚本函数中放一些警报,并检查它是否正在调用该函数? –

+1

为什么您使用**电子邮件==“电子邮件”**和** window.isValidEmail(电子邮件)** –

0

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

但是假设你把“Gmail的”为文本,电子邮件,那么如果条件

if (email == "Email") 

是假的所以没有被内部执行或退回 因此感觉就像JavaScript不是调用

试使用萤火虫调试和断点js代码

+0

函数isGoodEmail(){ var email = document.getElementById(“<%= txtComapnyEmail.ClientID%>”).value; alert('Script entered');} 我试着在下面是否正在解释脚本。它没有工作 –