我的问题似乎很简单,但我对网络编程有点新意,所以这里是:
我希望我的按钮刷新页面,传递一些GET参数来触发PHP操作,我不希望屏幕在页面顶部滚动。
我目前使用的是ajax和javascript的混合,它可以实现我想要的但是它不可靠。这是我记得的代码(我手头没有代码)
<?php
echo '
<span href="$.ajax(\''.$_SERVER['PHP_SELF'].'?do=dosomestuff\'); setTimeout(function(){windows.location.reload()},100);)> ... </span>';
?>
这个实现有三个问题:
感谢您的帮助和建议!
编辑:按照Tularis的建议,这是我提出的代码,但我无法让它工作
<?php
if (isset($_GET['do']) and $_GET['do'] == 'swap')
{
rename('img1.jpg', 'img3.jpg');
rename('img2.jpg', 'img1.jpg');
rename('img3.jpg', 'img2.jpg');
}
?>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#spanLink").click(function() {
$.ajax('<?php echo $_SERVER['PHP_SELF'];?>?do=swap');
});
});
</script>
</head><body>
<img src="img1.jpg" width="300" height="300" alt="cat">
<img src="img2.jpg" width="300" height="300" alt="dog">
<span style="cursor:hand;" id="spanLink">Some text to click</span>
</body></html>
答案 0 :(得分:0)
首先,不要将html-links与javascript结合在一起。这是糟糕的形式(并导致你遇到的问题)。相反,我建议使用jQuery并将onClick事件处理程序链接到span元素,如下所示:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function() {
$.('#spanLink').click(function() {
$.ajax('<?php echo $_SERVER['PHP_SELF'];?>?do=somestuff');
});
});
</script>
</head><body>
<span id="spanLink">Some text to click</span>
</body></html>
答案 1 :(得分:0)
我建议您使用ajax和jQuery,您可以轻松获取新内容并在页面中的任何位置更新它,而无需重新加载整个页面。