【问题标题】:jQuery.post refreshes my page?jQuery.post 刷新我的页面?
【发布时间】:2011-11-23 09:49:20
【问题描述】:

我的页面上有以下代码和表单。但是当我点击提交时,我的页面似乎刷新了。

表格:

<form action='#' method='post'>
    <div><input type='text' name='name' /></div>
    <div><input type='submit' value='Save' /></div>
</form>

JS:

<script type='text/javascript'>
    $(document).ready(function() {
        $('form').bind('submit',function() {
            var str = $('form').serialize();

            $.post("save.php", { formString: str }, 
                function(data) {
                    alert("Saved: " + data);
                }
            );

        });
    });
</script>

非常感谢您的帮助!

【问题讨论】:

    标签: jquery forms refresh


    【解决方案1】:

    设置一个

    return false;
    

    到您的表单(例如在 onSubmit 上)。您的表单由 jQuery ($.post) 和页面本身发送,因为您不会阻止它这样做。另一个选项(同样的)是让 jquery-part 禁用表单的默认行为:

    //your code
    $('form').bind('submit',function() {
       // more of your code
       return false;
    }
    

    【讨论】:

    • 感谢@Snicksie 的回复,但我该把 return false 放在哪里?
    • 我推荐使用我给你的代码的第二部分,但如果你更喜欢'return false;',把它放在这里:&lt;form action="#" method="POST" onSubmit="return false;" &gt;
    • 显然你需要让你的函数返回 false。我会在我的回答中改变它。
    猜你喜欢
    • 1970-01-01
    • 2011-01-06
    • 2020-11-10
    • 2012-09-22
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    相关资源
    最近更新 更多