使用JavaScript(onblur)替换双引号的C#表单构建器 - 与单引号内的2个双引号冲突

时间:2012-03-16 20:40:36

标签: c# javascript replace onblur double-quotes

我正在修改一个用C#编写的自定义表单构建器应用程序,方法是添加onblur来替换<> /\等有问题的字符,并希望"。我可以让所有的替换工作,除了由于我的双引号问题引起的双引号。谁能帮助我让这个工作?
这是我的一些代码:

this.Controls.Add(new LiteralControl(String.Format(@"   
... lots of html ...
<input name=""txtTextLabel"" id=""txtTextLabel"" type=""text"" onblur=""this.value = this.value.replace('<', '[').replace('>', ']').replace('double quotes', '');""/>
... lots more html ...
"));

1 个答案:

答案 0 :(得分:1)

以下内容适用于我:

<input name="txtTextLabel" id="txtTextLabel" type="text" 
onblur='this.value = this.value.replace("<", "[").replace(">", "]").replace("\"", "");'/>

我在双引号之前放了\,因为这就是你如何在Javascript中逃避双引号。

请注意,在onblur属性中,我已经改变了对单引号和双引号的使用,以使其起作用。

此外,我意识到在您的代码中,您正在替换&lt;用[和&gt;与]