2017-06-23 66 views
2

當我在輸入文本中的值爲空之後執行JavaScript警報時。但是我希望在輸入文本中提供JavaScript警報值之後。JavaScript警報值爲空後

這裏是我的代碼

<script> 

     function validateform() { 

      var email = $('#txt_emailID').val(); 
      if (email == null || email == "") { 
       alert("Email Should Be Complusory"); 
       return false; 
      } 
      var atposition = email.indexOf("@"); 
      var dotposition = email.lastIndexOf("."); 
      if (atposition < 1 || dotposition < atposition + 2 || dotposition + 2 >= email.length) { 
       alert("Please enter a valid e-mail address...!!!"); 
           return false; 
      } 
     } 

    </script> 

<label for="fname">Name</label> 
     <input type="text" id="txt_name" name="txt_name" placeholder="Your Name.." /> 

     <label for="lname">EmailID</label> 
     <input type="text" id="txt_emailID" name="email" placeholder="Your EmailID.." /> 

     <label for="lname">Subject</label> 
     <input type="text" id="txt_subject" name="txt_subject" placeholder="Your Subject.." /> 

     <input type="submit" id="submit_mail" value="Send" /> 

     <script> 
      $(function() { 
       $(document).on("click", "#submit_mail", function() { 
        if (validateform() == false) { 
         document.getElementById("txt_name").value = $('#txt_name').val(); 
         document.getElementById("txt_subject").value = $('#txt_subject').val(); 

        } 
        else { 

        } 
       }); 
      }); 

我不知道我得到的一個問題。

+0

這發生的,因爲你已經使用按鈕式的提交和你有一個按鈕的綁定click事件,使該表單的點擊將提交。如果表單已提交,您的值將爲空 –

+0

請不要在提交按鈕上進行「點擊」事件。在表單上做一個'submit'事件(如果有的話) – Sysix

回答

3

您應該防止提交表單的提交按鈕的默認操作。

使用Event.preventDefault();

function validateform() { 
 
    var email = $('#txt_emailID').val(); 
 
    if (email == null || email == "") { 
 
    alert("Email Should Be Complusory"); 
 
    return false; 
 
    } 
 
    var atposition = email.indexOf("@"); 
 
    var dotposition = email.lastIndexOf("."); 
 
    if (atposition < 1 || dotposition < atposition + 2 || dotposition + 2 >= email.length) { 
 
    alert("Please enter a valid e-mail address...!!!"); 
 
    return false; 
 
    } 
 
} 
 
$(function() { 
 
    $(document).on("click", "#submit_mail", function(e) { 
 
    if (validateform() == false) { 
 
     e.preventDefault(); 
 
     document.getElementById("txt_name").value = $('#txt_name').val(); 
 
     document.getElementById("txt_subject").value = $('#txt_subject').val(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<label for="fname">Name</label> 
 
<input type="text" id="txt_name" name="txt_name" placeholder="Your Name.." /> 
 

 
<label for="lname">EmailID</label> 
 
<input type="text" id="txt_emailID" name="email" placeholder="Your EmailID.." /> 
 

 
<label for="lname">Subject</label> 
 
<input type="text" id="txt_subject" name="txt_subject" placeholder="Your Subject.." /> 
 

 
<input type="submit" id="submit_mail" value="Send" />

+1

就是了。謝謝。 :) –