Reputation: 19347
I want to cancel submission of form when a javascript global varible is set to 0 :
<script type="text/javascript">
form_valid = 1;
function verifMdps() { // called in the onblur of a text input
if (!mdpEquals()) {
$('#errmsg_oldmdp').text("<?php echo _getText('service.personne.tbr_title.mdp_diff'); ?>");
setTimeout(function(){$('#oldmdp').focus();}, 10);
form_valid = 0;
} else
$('#errmsg_oldmdp').text("");
}
$(document).ready(function() {
$("#frm").on("submit", function() {
$( "input[onblur]:visible:enabled" ).each(function(){
$(this).blur();
if (form_valid == 0)
return false;
});
if ( mode == "ajout" )
$('#mode_').val("ajout");
else
$('#mode_').val("modif");
});
Even if I write return false
then the form is still submitted ! So how to cancel the submission ?
Upvotes: 0
Views: 185
Reputation: 29846
Use preventDefault to prevent the default action.
$("#frm").on("submit", function(e) {
$( "input[onblur]:visible:enabled" ).each(function(){
$(this).blur();
if (form_valid == 0)
e.preventDefault();
});
if ( mode == "ajout" )
$('#mode_').val("ajout");
else
$('#mode_').val("modif");
});
Upvotes: 3