2012-10-10 109 views
0

如何防止用javascript或jquery在textarea内改变某些元素,标记?例如,我在输入中输入了这个字符串防止用户在输入框中改变标记

这是正常的文本{这不能改变1}。这是更多的文字。 {这不能改变2}。还有一些文字

如果用户试图更改大括号内的文本,我想防止发生这种情况。

我想找到记号的开始和结束索引的索引,当用户试图更改一个元素时,我会看看它是否在该范围内。

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

+0

哈哈,这是一个古怪的小要求那里。您可以将更改处理程序添加到文本区域,该区域保存文本框的当前文本,然后决定是否希望更改实际发生。 – thatidiotguy

+1

您确定要这么做吗?我想说,捕捉所有可能的方式来改变输入值可能会变得非常复杂。为什么不简单地使用多个输入,并将它们之间的“不可更改”文本显示为纯html?用户体验将是相同的,但对你而言更少麻烦。 – Yoshi

回答

0

当页面加载时,您可以使用正则表达式将{}之间的所有内容读取到数组中。然后当提交表单再次做同样的事情并比较它们以确保它们是相同的。

0

你应该建立一个正则表达式来验证文本的有效性。对textarea中的每个​​事件重新验证正则表达式并通知用户/防止按键。

由于文本也可以通过其他方式(粘贴,自动完成等)进行更改,因此您还应该在文本区的change事件上进行验证。