Reputation: 1424
I am using a jQuery Validation plugin to validate my form, but the form does not submit even after successful validation. Here is code to reproduce the issue:
<?php
if(isset($_REQUEST['submit'])){
echo "form submitted"; //have to insert into database here
}
?>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<script type="text/javascript">
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});;
</script>
<script>
$(document).ready(function(){
$("#myform").validate({
rules: {
field1: {
required: true,
number: true
},
field2: {
required: true,
number: true,
minlength: 3
},
field3: {
required: true,
email: true
}
}
});
});
</script>
<form id="myform" method="post" action="">
<div>
<label for="field">Required, decimal number: </label>
<input class="left" id="field1" name="field1" type="text" />
</div>
<br>
<div>
<label for="field">Required, Minimum length 3: </label>
<input class="left" id="field2" name="field2" type="text" />
</div>
<br>
<div>
<label for="field">Required, email: </label>
<input class="left" id="field3" name="field3" type="text" />
</div>
<br/>
<input type="submit" name="submit" value="Validate!" />
</form>
Note, this happens with or without a valid action in the form tag.
What could be causing this?
Upvotes: 3
Views: 1147
Reputation: 15945
Set debug
to false:
<script type="text/javascript">
jQuery.validator.setDefaults({
debug: false,
success: "valid"
});;
</script>
If debug
is true, the form is not submitted: http://docs.jquery.com/Plugins/Validation/validate#options
E.g. http://codepad.viper-7.com/H4OFP5
Upvotes: 5