我正在現場討論形式。該頁面從MySQL加載線程,並通過AJAX每4秒刷新一次。在每個線程的最後評論之後,有一個文本輸入用於評論(與Facebook非常相似)。如何使用Ajax刷新並保持表單數據
一切正常,只是當用戶在輸入和頁面刷新寫作,信息消失。安全和隱私是這個項目的主要目標,這就是爲什麼我不想使用cookies。我已經嘗試了很多解決方案,並花了幾個小時尋找解決方案,但似乎沒有任何工作。
- 每次頁面刷新時是否可以解決
$_post
? - 在緩存中輸入值和
$_session
或本地存儲檢索它們的情況下,任何人都可以提出一個更具體的做法?即:在那裏把聽衆:) - 我試圖使該防止重新加載頁面,如果輸入的值是「」不同的功能,但即使這樣也沒有爲我工作。
這裏是我的刷新代碼:
<script type="text/javascript">
var PHP = "msgboard.php";
function updateShouts(){
$('#msgboard').load(PHP);
}
window.setInterval("updateShouts()", 4000);
</script>
這裏是主要的PHP函數:提前
while($row = mysql_fetch_array($resultados)) {
echo '<div class="post">
<div class="user"><b>'.$row["user"].'</b></div>';
echo ' <div class="txt">'.$row["msg1"].'</div>
</div>';
$sql2="SELECT * FROM table WHERE masterid = '".$row['id']."'ORDER BY id ASC";
$resultados2 = mysql_query($sql2);
while($row2 = mysql_fetch_array($resultados2)) {
echo '<div class="comment">
<div class="txt"><b>'.$row2['user'].'</b>';
echo ' '.$row2['msg1'].'</div>
</div>';
}
echo '<div class="commentform">
<form action="board.php" method="post">
<input type="text" size="75" name="message" id="message1">
<input type="hidden" name="masterid" value="'.$row['id'].'">
<input type="submit" name="Submit" value="Enviar"></form>
</div>' ;
}
謝謝!
您只需更新頁面的部分部分,而不是全部,爲什麼要更新用戶首先輸入的輸入字段? –
你好!原因有兩個:1.將輸入準確地放在最後一條評論之下2.獲取主線程的ID並將其保存到隱藏的輸入 – Nenitus
正如@aziz所說,您只需更新評論。您可以將ajax檢索的註釋放置在輸入上方,並且主線程的ID仍將設置在隱藏的輸入中。 – Lando