2011-03-27 184 views
1

我在網頁中有一個多行輸入文本框,並希望所有輸入的文本更新頁面中的另一個文本區域。我將如何最好地實現這一目標?目前,我認爲當你提交表單時,php會將輸入寫入一個小文本文件,然後嵌入到頁面中。HTML表單輸入更新

但是,我需要對此進行清理,以便人們不注入html。另外,是否需要爲輸入框中的每一行添加<p>...</p>標籤?

謝謝。

+1

您是否需要將其保存在頁面上以供同一用戶,多個用戶或僅用於該頁面實例的後續視圖? – wag2639 2011-03-27 08:36:32

+1

更新後的文本是否需要存儲在數據庫中,還是可供未來使用? – Chris 2011-03-27 08:37:41

+0

輸入存儲到一個小文本文件,以便每當其他人查看另一個頁面時,它顯示該消息。所以應該保存,直到再次更新。 – Mark 2011-03-27 12:26:30

回答

0

你做什麼取決於你的要求。您一定要使用htmlspecialchars()strip_tags()來取消任何錯誤的HTML。之後,你可以簡單地使用nl2br()插入一些<BR>空間的一切,或者你可以explode()你的字符串,並添加<p>標籤。

0

根據更新的保存方式(只是那個實例,永久爲那個用戶或者永久爲所有用戶),選項範圍從Javascript/Jquery簡單地更新其他文本區域到AJAX調用一個php後端腳本清理並保存更新。

對於<p>,您可以使用Javascript根據換行符進行拆分(),然後使用for循環將每個元素添加爲<p>text</p>。這個概念應該適用於任何語言。

0

這取決於你想要完成什麼。這是一種類型的博客條目,其中已經存在的文本仍然存在,並且您輸入的內容被追加了嗎?所有的文字都被替換了嗎?將需要其他地方,除了此頁面上的這段文字(數據庫,回憶起在以後的時間?)

一次我們幾個的那些問題的答案,我們可以向前移動:)

此外,什麼技術是你使用?純HTML,Javascript,PHP,ASP?這將有助於確定您嘗試完成的最佳方法。 (我看到的PHP,只是想知道我們的選擇是什麼)

詳細說明,我們會弄清楚:)...這是一個簡單的AJAX調用來加載文本文件到一個div ...前提應該工作(如果我得到正確的代碼把我的頭頂部)....

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.5.js"></script> 
    </head> 
    <body> 
     <div id="media"> 
     </div> 
     <form id="myform" method="POST"> 
      <input type="textarea" name="MyParagraph"></textarea> 
      <input type="button" value="Change Text" onclick='$.get("SterilizeMyText.php",{ nbRandom: Math.random() }, function(data){ $("#media").html(data); });'> 
     </form> 
    </body> 
</html> 

你可以改變的onclick是一個PHP文件,將採取表單變量($ _REQUEST [「嗒嗒」])然後輸出清理後的文本,如果你喜歡。

+0

它不是一個博客,新文本將替換整個文本文件。它就像一個更新部分,所以不懂計算機的人可以在網站上發佈消息,而不必接觸html。打算使用PHP,但如果JavaScript是必需的,會放棄它!感謝該片段。將看看我是否可以讓我的頭靠近它! – Mark 2011-03-27 12:34:49