VBScript ASP输入类型隐藏,带引号的值

时间:2013-02-18 22:16:52

标签: vbscript

<input type="text" class="originalValues" id="orig_<%=ColumnName%>" value="<%=FldValue%>"> 

对不起,这是我第一次找不到我要找的东西,实际上不得不问一个问题。

我有一个隐藏的输入,但如果值包含引号(“),则vbscript会删除其余的隐藏输入值。

如何逃避或替换报价?将这些原始值与textareas进行比较,以查看是否已进行更改并添加到审核日志中。

1 个答案:

答案 0 :(得分:2)

在HTML中,转义双引号的正确方法是使用&quot;字符实体。如果您始终使用双引号括起HTML属性值,则可以使用内置ASP方法Server.HTMLEncode来安全地编码引号和需要转换的其他字符。

Response.Write Server.HTMLEncode(Chr(34) & "surrounded by quotes" & Chr(34))

输出

&quot;surrounded by quotes&quot;

实际上,更安全的方法是替换单引号(撇号),因为它们也可用于分隔属性值。这可以通过在Server.HTMLEncode周围编写一个简单的包装器并将其包含在函数库中来完成。

Function HTMLEncode(s)
    HTMLEncode = Replace(Server.HTMLEncode(s), "'", "&#39;")
End Function