ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4191141 TEXTBOXの値の取扱い
質問者:diolab ASP(vbscript) + Access(mdb)

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

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

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

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

TEXTBOXの文字列はどのように扱うのがいいのでしょうか?
困り度:
  • 困っています
質問投稿日時:
08/07/20 17:38
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.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すべきデータ) %>">
というかんじにしてやるといけると思います。
お試しください。
回答者:kero_mio
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/07/22 12:57
参考URL: http://www.aspnut.com/reference/encoding.asp
この回答へのお礼この回答にお礼をつける(質問者のみ)