Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

jquery - preventDefault() submitting form

Ok i am fairly new to jquery and javascript in general. I have a form, and what i want to do it have the form run a function to make sure everything is there, and all the variables are correct then submit. I have used onclick value to the submit button and have it run a function that uses preventDefault(). I am not sure if im using it correctly but it doesn't seem to be working. This is what i have and when you click submit, it just submits even if the if statement is false.

function checkSubmitStatus() {
    $("#myform").submit(function(event){
        if( whatever==true) {
            event.preventDefault(); 
        }
    });
}

<input type="submit" name="submit" value="Submit"  onClick="checkSubmitStatus()">

Thanks!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

By putting $("#myform").submit(...) inside the checkSubmitStatus() function, you're attaching the submit handler after the button is clicked and the form is already submitted. Try this:

<script type="text/javascript">
$(document).ready(function() {
  $("#myform").submit(function(event){
    if(whatever) { 
       event.preventDefault();  
    }  
  });
});
</script>

<form id="myform">
  <input type="submit" name="submit" value="Submit">
</form>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...