【发布时间】:2014-09-24 06:25:00
【问题描述】:
我有一个名为“leaguestatus.php”的 PHP 页面。此页面允许用户发布消息/状态更新,目的是仅刷新 div 的这一部分;但是,在提交时,整个页面都会重新加载。
在当前的实现中,我只是将所有 $_POST 变量打印到 div 中,这样我就可以看到发生了什么。 MsgText textarea 确实会发布,但是,只有在整个页面加载之后。我试图让 div 和包含的文件重新加载。
div id="statusupdates"><? include 'leaguestatus.php'; ?></div>
leaguestatus.php
<form id="statusform" method="POST">
<textarea name=MsgText rows=5 cols=40></textarea><BR>
<input type=submit value=Post id=uhsbutton>
</form>
<BR>
<BR>
<div id='formbox'>
<? print "<pre>POST Variables:<BR>";
print_r ($_POST);
print "</pre>";
$MsgText = $_POST["MsgText"];
?>
</div>
我在头部运行的jQuery是:
$(document).ready(function() {
$("#statusform").submit(function(e) {
e.preventDefault();
var formData=$(this).serialize();
var pUrl="leaguestatus.php";
submitFormSave(formData, pUrl);
});
function submitFormSave(formData, pUrl) {
$.ajax({
url: pUrl,
type: 'POST',
data:formData,
success: function(response) {
$("#formbox").html(response);
}
}).success(function(){
});
}
});
这是我的内容:
html 标头
<link rel="stylesheet" href="css/jquery-ui.css">
<script src="js/jquery-1.9.1.js"></script>
<script src="js/jquery-ui.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
编辑:更新代码以反映@sazedul 响应的使用。现在唯一的问题是第一次点击页面按预期运行(无页面刷新)。第二次点击整个页面重新加载。第三次点击就恢复正常了。
【问题讨论】:
-
你打开控制台检查错误了吗?
-
hmmm...ajaxSubmit 显然是一个未定义的类型...让我挖掘一下。
-
现在我似乎收到了返回 false 的 TypeError;