2012-02-21 111 views
0

我們有一個表單,讓人們輸入HTML格式的文本,然後將該輸入顯示在網頁上的其他地方。是否可以在HTML格式文件中計算可見文本的行數?

由於佈局限制輸入可能不超過X線長。在網頁中沒有預覽編輯過的文字。提交後立即發佈。 (簡短的說明,爲什麼我不能修復的佈局:在討論的文字顯示爲圖像上的覆蓋的覆蓋有關於圖像的大小和固定的文本應該是覆蓋內完全可見,應該不會溢出。結束了。)

我被要求執行的東西,讓人們進入太多的文字。

我的第一次嘗試是「maxLength」,但由於html格式輸入的可能性而出錯。

除了明顯的兩個1.期待用戶很聰明和/或2.實現預覽方法,我們還有什麼可能解決這個問題?

我出出主意,我也會接受的解釋,爲什麼它是不可能

技術使用:JAVA,檢票口的1.4.x

+2

看一看這個答案http://stackoverflow.com/a/3149645/1030409 – Patrick 2012-02-21 15:43:58

+2

你不能知道,因爲html沒有行的概念。 – bert 2012-02-21 15:45:13

+0

*「由於佈局限制,輸入可能不會超過X行。」*修復佈局。當我發送文本大小爲正常的4倍時,我希望網站繼續工作。 – 2012-02-21 16:21:44

回答

1

我不是一個網絡開發專家,所以這可能不是一個足夠精確的答案。

使用javascript,您可以獲得一個HTML元素在瀏覽器中呈現後的有效大小。因此,一種解決方案可能是呈現頁面服務器端,並檢查結果是否超出您的期望大小。

但是這可能無法保證正確的結果,因爲服務器可能會呈現與客戶端不同的頁面。您也可以始終接受輸入,然後當客戶端呈現頁面時,有一段JavaScript代碼(這次是客戶端)檢查渲染結果是否正常。如果不是,則讓javascript將客戶端重定向到錯誤頁面,以便它可以編輯他的輸入。

但是我會做的是改變佈局,以便在用戶輸入太多文本時不會出現任何問題。使用CSS溢出屬性可能是一個開始。您還可以在JavaScript中實現更好的解決方案,例如動態更改文本大小,直到達到您想要的大小。

+0

這聽起來很有趣(如上所述,我無法修復佈局,文本可能不會比它顯示的圖像大)。我希望我能找到更多關於這個javascript的信息。謝謝。 – Yashima 2012-02-21 19:21:55

+2

你也可以在不可見格式中輸入標記並檢查大小。 – biziclop 2012-02-21 21:35:56

+0

我需要爲此解決方案提供可用的樣式。而且我還沒有(至少不是微不足道的),因爲內容是在一個完全不同的服務器上發佈的。這聽起來仍然是最好的解決方案。謝謝。 – Yashima 2012-02-22 10:33:35

相關問題