• ベストアンサー

TEXTBOXの値の取扱い

ASP(vbscript) + Access(mdb) 今、登録・編集するASPページを作成しています. そこでTEXTBOXのデータの取扱いに困っています. TEXTBOXの入力内容にHTMLタグを含む文字列を 入力した場合、mdbに登録まではいいのですが、 編集時にどのようにTEXTBOXに表示していいのか分かりません HTMLEncode後の文字列で扱うと、再保存などを繰り替えすうちに >、<などの文字列になってしまいます. TEXTBOXの文字列はどのように扱うのがいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.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