【发布时间】:2013-10-20 21:34:37
【问题描述】:
使用 JQuery 的简单 AJAX 测试页面。 显示的页面最初显示按钮 (BUTTON1)。点击后,它将通过 script.js 运行 react.php。 react.php 将通过 span 元素将 BUTTON1 替换为 BUTTON2。这一切都有效。
这就是问题所在。点击 BUTTON2 应该通过 script2.js 运行 react2.php。 react2.php 然后应该用文本“SUCCESS”替换 BUTTON2。但是,当单击 BUTTON2 时,页面会刷新(并再次显示 BUTTON1),而不是这样做。
当初始 begin.php 页面上的按钮类从 button1 更改为 button2 时,按钮成功替换为 react2.php 中的字符串。我无法深究。
如何防止刷新,以便页面在 span 元素中显示“SUCCESS”? 提前致谢!
beginning.php
<html>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script2.js"></script>
<?php
echo "<span class='span_display'>
<a href='' id='button1' class='button1'>BUTTON1</a>
</span>";
?>
</html>
script.js
$(function() {
$(".button1").click(function() {
$.ajax({
url: "react.php",
cache: false,
success: function(html) {
$(".span_display").html(html);
}
});
return false;
});
});
script2.js
...(all the same except)
url: "react2.php",
react.php
<?php
echo "<a href='' id='button2' class='like_button2'>BUTTON2</a> ";
?>
react2.php
<?php
echo "SUCCESS";
?>
【问题讨论】:
-
因为您的脚本无法识别按钮2。你必须把它放在你的标记中(隐藏它,并在你第一次点击按钮后显示它)或者你必须在你的 react.php 中输出你的 button2 点击处理程序。不过会选择第一个选项。我没有将其作为答案发布,因为我对第二个选项不是 100% 确定,而且我现在没有时间测试它。
-
感谢您的回答。对不起,您能否通过一些提示或示例来扩展您的答案,以说明如何将此原则放入代码中?你的意思是这样的:link?这里是初学者。
-
由于您似乎是 SO 的新用户,我想鼓励您take the tour 或阅读help page,了解如何(以及为什么)接受答案。 ;-) 请不要使用 w3schools 作为资源,而是使用 [官方文档](api.jquery.com/)。
标签: javascript php jquery ajax