Jquery form.submit不起作用

时间:2012-06-09 09:38:19

标签: jquery

我有这样的代码,如果代码存在,代码可用性,表单不提交

我的代码无效

<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>

当我在控制台上查看时,Ajax url会出错,但是当我使用realitycode keyup()函数时,Ajax可以正常工作。如果有任何错误,我希望表单不应该提交。但表格在每种情况下提交 请帮忙

5 个答案:

答案 0 :(得分:2)

使用.click事件而不是提交。然后,如果表单有效,请在代码中自行提交。

答案 1 :(得分:1)

  

如果有任何错误,我希望表单不应该提交。但形式是   在每种情况下提交请帮助

return false放在$('#reality_form').submit()函数的 结束 上:

$('#reality_form').submit(function(){
   // your other code
   return false;
});

答案 2 :(得分:0)

对您的代码进行以下更改:

     <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>

答案 3 :(得分:0)

阻止提交的另一种方法是使用以下代码:

$('#reality_form').submit(function(e){

    e.preventDefault();

在jQuery中,每个处理程序都接收事件对象作为第一个参数,并且此对象具有禁止默认行为的方法prevetDefault()。它可以用于任何类型的事件,例如click元素上的<a>

答案 4 :(得分:0)

我想出了同样的问题。 解决方案是......

Dont use name="submit"
<input type="submit" name="submit" value="submit" />

Instead
<input type="submit" name="anyOtherName" value="submit" />