2012-10-10 107 views
0

如何防止用javascript或jquery在textarea內改變某些元素,標記?例如,我在輸入中輸入了這個字符串防止用戶在輸入框中改變標記

這是正常的文本{這不能改變1}。這是更多的文字。 {這不能改變2}。還有一些文字

如果用戶試圖更改大括號內的文本,我想防止發生這種情況。

我想找到記號的開始和結束索引的索引,當用戶試圖更改一個元素時,我會看看它是否在該範圍內。

我可以使用不同的方法嗎?

+0

哈哈,這是一個古怪的小要求那裏。您可以將更改處理程序添加到文本區域,該區域保存文本框的當前文本,然後決定是否希望更改實際發生。 – thatidiotguy

+1

您確定要這麼做嗎?我想說,捕捉所有可能的方式來改變輸入值可能會變得非常複雜。爲什麼不簡單地使用多個輸入,並將它們之間的「不可更改」文本顯示爲純html?用戶體驗將是相同的,但對你而言更少麻煩。 – Yoshi

回答

0

當頁面加載時,您可以使用正則表達式將{}之間的所有內容讀取到數組中。然後當提交表單再次做同樣的事情並比較它們以確保它們是相同的。

0

你應該建立一個正則表達式來驗證文本的有效性。對textarea中的每個​​事件重新驗證正則表達式並通知用戶/防止按鍵。

由於文本也可以通過其他方式(粘貼,自動完成等)進行更改,因此您還應該在文本區的change事件上進行驗證。