10秒目をつむったら…

ASP(vbscript) + Access(mdb)

今、登録・編集するASPページを作成しています.

そこでTEXTBOXのデータの取扱いに困っています.

TEXTBOXの入力内容にHTMLタグを含む文字列を
入力した場合、mdbに登録まではいいのですが、
編集時にどのようにTEXTBOXに表示していいのか分かりません

HTMLEncode後の文字列で扱うと、再保存などを繰り替えすうちに
>、<などの文字列になってしまいます.

TEXTBOXの文字列はどのように扱うのがいいのでしょうか?

A 回答 (1件)

編集時というよりは、表示時ってことでしょうか?


HTMLEncodeをどのように実装されているのか?にもよりますが、
もし、Server.URLEncodeを使って、Encodeされているのであれば、
Decode(元に戻す)処理は、自作で作らなければなりません。
こんな感じで・・・


Function URLDecode(sConvert)
Dim aSplit
Dim sOutput
Dim I
If IsNull(sConvert) Then
URLDecode = ""
Exit Function
End If

' convert all pluses to spaces
sOutput = REPLACE(sConvert, "+", " ")

' next convert %hexdigits to the character
aSplit = Split(sOutput, "%")

If IsArray(aSplit) Then
sOutput = aSplit(0)
For I = 0 to UBound(aSplit) - 1
sOutput = sOutput & _
Chr("&H" & Left(aSplit(i + 1), 2)) &_
Right(aSplit(i + 1), Len(aSplit(i + 1)) - 2)
Next
End If

URLDecode = sOutput
End Function

この自作したFunctionを
<input type="textbox" name="text1" id="text1" value="<%=URLDecode(MDBから読み込んできたDecodeすべきデータ) %>">
というかんじにしてやるといけると思います。
お試しください。

参考URL:http://www.aspnut.com/reference/encoding.asp
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!