2016-10-14 162 views
0

我的html有一個表格單元格,它顯示了一個文本文件的內容(由javascript讀入),其中包含以前的訪問者的名字。這工作完美。Form,external php,refresh

還有一種插入訪客姓名的表單。 提交時,啓動一個外部php,將新名稱添加到文本文件。這也是完美的。

目前的形式始於此:

<form method="post" action="write2txt.php" target="_blank"> 

但我想要的是:提交HTML後應該簡單地刷新,以顯示更新的訪客名單。

+0

有沒有可以顯示的代碼? – darham

+0

你需要使用AJAX。 http://learn.jquery.com/ajax/ – chris85

+0

不,請不要ajax ... – newbieforever

回答

1

(read in by javascript) & no ajax,意思是什麼?

提示

  • javscript文件被逮住,記住這一點
  • 爲什麼不擺在首位
  • 如果表用PHP添加日期和在一個文件中添加的,添加應outputing表
  • 之前,如果你有單獨的文件重定向回用header('Location: www.xyz.com');

一壓腳提升閱讀您的最後一個註釋以上,使用:

header('Location: www.xyz.com');

添加更新全自動

+0

我使用以下方法: – newbieforever

+0

我使用以下方法:文本文件以' var string ='...,並將其讀入到html文件中。 – newbieforever

+0

嘗試'src =「txtfile.txt?id ='.uniqid()。'''',這可以防止瀏覽器捕捉到你的js文件 – JOUM

1

不要在您的形式使用target="_blank",因爲這顯示在新窗口中後的結果。更改write2txt.php,以便在寫入文件之後,它會將重定向發送回原始頁面的URL,而不是生成自己的輸出。

<?php 
// code to update file 
header("Location: form.php"); 
exit(); 

這將使瀏覽器重新加載原始頁面,該頁面將獲取文件的更新內容。

如果你不想使用AJAX,這是你如何去做的一般想法。

+0

好吧,這與PHP文件中的標題(「位置:form.html」)似乎工作,PHP不顯示,但我仍然必須刷新HTML'manualy'... – newbieforever

+0

你不應該需要這樣做。應該重新加載原始頁面,就像當你手動進入頁面一樣。 – Barmar

+0

不,我必須手動完成。文本文件(@JOUM)的緩存似乎不是原因,我已經使用... src =「txtfile.txt?rando」...其中rando是一個隨機數 – newbieforever