我的問題似乎很容易,但我有點新的網頁編程,所以在這裏它是:PHP:刷新與GET參數的網頁上無需滾動
我希望我的按鈕刷新頁面,通過一些GET參數觸發一個PHP動作,我不希望屏幕在頁面頂部滾動。
我正在使用的那一刻是Ajax和JavaScript的混合體,但它確實我想要什麼,但它是不可靠的。這是我記得的代碼(我沒有手頭上的代碼)
<?php
echo '
<span href="$.ajax(\''.$_SERVER['PHP_SELF'].'?do=dosomestuff\'); setTimeout(function(){windows.location.reload()},100);)> ... </span>';
?>
我有三個問題,與此實現:
- 我覺得這是矯枉過正,當A HREF會使用AJAX也許做的工作
- 我的一個朋友進行了測試,他得到了Firefox的彈出(」 要顯示此頁面,火狐必須在較早進行發送,將重複任何操作(如搜索或訂單確認信息)「)每次他點擊按鈕。我讀它來自POST數據傳遞,但我只使用GET數據。
- 在某些計算機上的按鈕不起作用每次。這是隨機的,也許延遲不夠大。延遲能有多大,以至於我100%肯定會每次都有效,但同時對用戶來說並不明顯。
謝謝您的幫助和建議!
編輯:以下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>
謝謝你的答案,但我仍然無法管理,使其工作。我更新了我的代碼。 – user3316439
你到底還錯過了什麼?當我測試代碼時,單擊文本將運行PHP腳本(並因此重命名文件)。它應該做其他事嗎? – Tularis
單擊文本在我的情況不運行PHP腳本(在IE和Chrome)。我可以在Chrome調試器的「網絡」面板中看到請求,但這就像參數未通過一樣。我只注意到如果我的網址是/project/imgswap.php,那麼點擊文本不起作用。但是,如果url是/project/imgswap.php?do=swap,那麼點擊文本就行。任何想法爲什麼?謝謝 ! – user3316439