2017-06-23 64 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

就是了。谢谢。 :) –