Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.3k views
Welcome To Ask or Share your Answers For Others

1 Answer

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>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...