2014-09-22 21 views
0
<html> 
    <head> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"> 
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script> 
<link rel="stylesheet" href="/resources/demos/style.css"> 
    <script type="text/javascript"> 
     //================UI dialog=========== 
     $(function() { 
      $("#dialog").dialog({ 
       autoOpen: false, 
       show: { 
        duration: 100 
       }, 
       hide: { 
        duration: 100 
       } 
      }); 
     }); 
    </script> 
    <script type="text/javascript"> 
    function validation() 
     { 
      var emailField=document.form.email.value; 
      var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 
      if (reg.test(emailField.value) == false) 
      { 
       $("#dialog").dialog("open"); 
     p_dialog.innerHTML="Please enter valid email ... ";   
       document.form.name.select(); 
       return false; 
      } 
     } 
    </script> 
    </head> 

    <body> 
     <div id="dialog" title="Basic dialog"> 
      <p id="p_dialog"></p> 
     </div> 

    <form action="data.php" method="post" name="form" onsubmit="return validation()" enctype="multipart/form-data"> 

     <input type="text" name="email" style="width:100%" id="email"> 
     <input type="submit" name="submit" value="submit" > 
    </form>  
    </body> 
    </html> 

這裏我使用的UI對話框,檢查電子郵件字段的驗證,但它不通過電子郵件驗證不顯示用戶界面對話框的任何提示

.dialog("open") 

相同的代碼顯示對話框我使用了相同形式的必填字段和名稱字段,但它適用於電子郵件時不顯示任何消息。

+0

的jsfiddle之前將幫助我們... – Legionar 2014-09-22 11:23:34

+0

控制檯中的任何錯誤?爲什麼要使用js和jQuery選擇器?爲什麼你指定完整的路徑來形成行動,而不是相對的?我看到沒有jQuery加載 – Justinas 2014-09-22 11:24:21

+0

感謝它完成,但現在的問題是它不適當地驗證數據 – user3300358 2014-09-22 11:31:28

回答

0

您可以使用正則表達式來驗證電子郵件ID。下面一個是標準之一來使用:

<asp:RegularExpressionValidator ID="regEmail" runat="server" ControlToValidate="your_textboxid" ErrorMessage="Please enter valid Email ID" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" SetFocusOnError="true"></asp:RegularExpressionValidator> 
               </td> 

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 

其他明智的,把你的JS代碼上述正則表達式,它應該工作的罰款。

查看編輯JS代碼

<script type="text/javascript"> 
    function validation() { 
     var emailField = document.form.email.value; 
     var reg = \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*; 
     if (reg.test(emailField.value) == false) { 
      $("#dialog").dialog("open"); 
      p_dialog.innerHTML = "Please enter valid email ... "; 
      document.form.name.select(); 
      return false; 
     } 
    } 
</script> 
0

我會假設你提供的代碼比更給它你已經證明了我們,因爲它看起來像你想使用jQuery但它不會在任何地方加載示例。 (編輯:這是不是在例如,當我寫這篇)

話雖如此,在你的正則表達式的+需要後去]和)

var reg = /^([A-Za-z0-9_\-\.]+)\@([A-Za-z0-9_\-\.]+)\.([A-Za-z]{2,4})$/; 
1
function validation() 
     { 
      var emailField=document.form.email.value; 
      var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; 
      if (filter.test(emailField)) { 
       return true; 
      } 
      else { 
        document.getElementById("email").focus(); 
        $("#dialog").dialog("open"); 
     p_dialog.innerHTML="Please enter valid email ... ";   
       //document.form.name.select(); 
       return false; 
      } 
     } 
+0

請正確格式化您的代碼並添加。你的代碼就像是一段 – BNN 2014-09-22 11:30:26

+0

thnks我得到馬錯誤它isdocument.fom.email.select()我從我的另一個文件複製和忘記現在正確地改變它的工作 – user3300358 2014-09-22 11:39:11

+0

所有的問題都解決了,但我嘗試在3 diff方式但直到它不設置focu() – user3300358 2014-09-22 12:23:02

相關問題