I have the Code like this which checks code availability if code exists the form does not submit
i have the code which is not working
<script type="text/javascript">
$(document).ready(function() {
$('#Loading').hide();
var min_chars = 3;
//result texts
var characters_error = 'Minimum amount of chars is 3';
var checking_html = 'Checking...';
$('#reality_form').submit(function(){
if($('#realitycode').val().length < min_chars){
$('#Info').html(characters_error);
}else{
//else show the cheking_text and run the function to check
$('#Info').html(checking_html);
var reltcode = $('#realitycode').val();
//use ajax to run the check
$.post("http://localhost/Testtt/wp-content/plugins/Realestate Redirection/check_realitycode_availablity.php", { realitycode: reltcode },
function(result){
//if the result is 1
if(result == 1){
//show that the username is available
alert('hi');
$('#Info').html(reltcode + ' is Available');
}else{
alert('hello');
$('#Info').html(reltcode + ' is not Available');
}
});
return false;
}
});
});
</script>
<div class="wrap">
<?php echo "<h2>" . __( 'RealEstate Listing Options', 'oscimp_trdom' ) . "</h2>"; ?>
<form action="" name="reality" method="post" id="reality_form">
<input type="hidden" name="reality_hidden" value="Y">
Website Url:<input type="text" name="website_url" value="" />
Listing Code: <input type="text" name="rlt_code" id="realitycode" />
<input type="submit" name="submit" value="submit" />
<div id="Info"></div>
<span id="Loading"><img src="http://localhost/Testtt/wp-content/plugins/Realestate Redirection/loader.gif" alt="" /></span>
</form>
</div>
As i look on console the Ajax url becomes error but when i use for realitycode keyup() function then Ajax works properly. i want form should not get submit if any error. but form is submitting in every case
Please help
5 Answers 5
Use the .click event instead of submit. Then if the form is valid, call submit yourself in code.
Comments
i want form should not get submit if any error. but form is submitting in every case Please help
Put return false at the end of your $('#reality_form').submit() function:
$('#reality_form').submit(function(){
// your other code
return false;
});
1 Comment
code return false; code in end of function as said can you show through code where to putThe other way to prevent from submitting is using the following code:
$('#reality_form').submit(function(e){
e.preventDefault();
In jQuery each handler receives event object as the first parameter and this object has method prevetDefault() which suppresses the default behaviour. It could be used with any kind of event, such as click on <a> element.
Comments
make following change to your code:
<script type="text/javascript">
var validated = false;
$(document).ready(function() {
$('#Loading').hide();
var min_chars = 3;
//result texts
var characters_error = 'Minimum amount of chars is 3';
var checking_html = 'Checking...';
$('#reality_form').submit(function(){
if(validated)
return true;
if($('#realitycode').val().length < min_chars){
$('#Info').html(characters_error);
}else{
//else show the cheking_text and run the function to check
$('#Info').html(checking_html);
var reltcode = $('#realitycode').val();
//use ajax to run the check
$.post("http://localhost/Testtt/wp-content/plugins/Realestate Redirection/check_realitycode_availablity.php", { realitycode: reltcode },
function(result){
//if the result is 1
if(result == 1){
//show that the username is available
alert('hi');
$('#Info').html(reltcode + ' is Available');
//do nothing
}else{
alert('hello');
$('#Info').html(reltcode + ' is not Available');
validated = true;
$('#reality_form').submit();
}
});
return false;
}
});
});
</script>
1 Comment
I came up with the same problem. The solution is...
Dont use name="submit"
<input type="submit" name="submit" value="submit" />
Instead
<input type="submit" name="anyOtherName" value="submit" />
code$.post("localhost/Testtt/wp-content/plugins/Realestate Redirection/check_realitycode_availablity.php", { realitycode: reltcode }, function(result){ //if the result is 1 if(result == 1){ //show that the username is available alert('hi'); $('#Info').html(reltcode + ' is Available'); }else{ alert('hello'); $('#Info').html(reltcode + ' is not Available'); } }); return false;code