使用jquery和ajax处理表单而不刷新页面

时间:2012-09-14 07:47:13

标签: php jquery html ajax

我有一个表单,我想提交而不刷新整个页面。 我找到了一个现成的源代码并在我的页面上实现了它,但它拒绝工作!

这是我需要提交的html表单:

<form method="POST" action="" name="actionForm" id="actionForm" class="actionForm">
                    <input type="hidden" name="adID" value="'.$row['adID'].'" />
                    <input type="hidden" name="adStatus" value="'.$row['adStatus'].'" />
                    <input type="submit" name="editAd" value="ערוך מודעה" class="actionButtons" />
                    <input type="submit" name="upgradeAd" value="הקפץ מודעה" class="actionButtons" />
                    <input type="submit" name="changeAdStatus" class="actionButtons" value="';
                    if ($row['adStatus'] == "disabled")
                        echo 'הצג מודעה בלוח" />';
                    else
                        echo 'הסתר מודעה מהלוח" />';
                    echo '
                    <input type="submit" name="deleteAd" value="מחק מודעה" class="deleteButton" />
                </form>

以下是转发到处理php文件并在当前页面上写一些结果的脚本:

    <script>    
    $(document).ready(function(){
        $("#actionForm").validate({
            debug: false,
            rules: {
            submitHandler: function(form) {
                $.post('/tests/process.php', $("#actionForm").serialize(), function(data) {
                    $('#resDiv').html(data);
                });
            }
        }});
            }); 
</script> 

处理php只将数据写入数据库并打印确认消息。 这是它的链接:http://codeviewer.org/view/code:29c4

我已经检查了代码的每一行,但仍然无法理解为什么我没有看到来自处理php的消息......

任何想法?

提前感谢您的帮助!

P.S。这是最初的php的完整代码:http://codeviewer.org/view/code:29c3

1 个答案:

答案 0 :(得分:1)

我认为代码末尾的javascript代码段错误。提交处理程序不得在规则中:{}阻止。

尝试以下方法:

<script>    
    $(document).ready(function() {
        $("#actionForm").validate({
            debug: false,
            submitHandler: function(form) {
                $.post('/tests/process.php', $("#actionForm").serialize(), function(data) {
                    $('#resDiv').html(data);
                });
            }
        });
    }); 
</script>