【发布时间】:2011-09-21 14:16:15
【问题描述】:
我。
使用 JQuery 提交到另一个页面并将结果从外部页面加载到 DIV 中。似乎无法让它发挥作用。以下是我正在使用的代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#msgform').submit(function () {
$.post('blah.php', $('#msgform').serialize(), function (data, textStatus) {
$('#msgresults').append(data);
});
return false;
});
});
</script>
<form id="msgform" action="blah.php" method="post" style="padding:0px;margin:0px;">
<input type="hidden" name="strmemid" value="someid" />
<textarea name="message" id="msgtextarea"></textarea>
<input type="submit" value="Submit" />
</form>
<div id="msgresults"></div>
二。
好的。我正在使用 JQuery 表单插件并使页面和数据库更新正常工作。我现在需要的只是在将表单提交到“msgresults”DIV 后,将警报(“谢谢您的评论”)替换为更新或附加来自外部页面的响应。 TIA
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#msgform').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
<div id="msgresults"></div>
三。
这段代码终于可以工作了
<script type="text/javascript">
$(document).ready(function() {
$('#msgform').ajaxForm(function (data, textStatus) {
$('#msgresults').append(data);
});
});
</script>
【问题讨论】:
-
当您说这不起作用时,究竟会发生什么?例如,您的外部源是否正确返回数据?
-
在 Firefox+Firebug 中试用您的代码。您将能够在发出请求时在控制台中看到返回的 HTTP 代码(200、500 等),甚至可以深入了解响应。
-
你在哪里得到错误
-
我使用的是经典的 ASP,并且在外部页面中也包含了 JQuery。没有任何内容返回到 DIV,并且数据库中没有任何内容更新。
-
使用 JQuery Form 插件解决了一个问题。我现在可以更新数据库,但在将提交到的页面的响应附加到“msgresults”DIV 时仍然有点模糊。任何帮助表示赞赏。 TIA。