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

申し訳ありませんが、探しているものが見つからず、実際に質問しなければならなかったのはこれが初めてです。

非表示の入力がありますが、値に引用符 (") が含まれている場合、vbscript は非表示の入力値の残りを削除します。

引用符をエスケープまたは置換するにはどうすればよいですか? これらの元の値をテキストエリアと比較して、変更が加えられたかどうかを確認し、監査ログに追加します。

4

1 に答える 1

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
于 2013-02-19T04:24:51.230 に答える