
プログラミング初心者です。
現在ASPの勉強のために簡単な検索、登録システムを作っています。
検索でも登録でもそうなのですが、入力内容にエラーがあった場合にASP側でチェックをしてHTML内にエラーメッセージを表示させるという仕様にしているのですが…
エラーメッセージを表示させる際にHTMLを再読込するので入力した内容がクリアされてしまい困っています。
エラーを含む入力した内容はクリアせずにエラーメッセージを表示させるにはどうしたらよいのでしょうか??
非常に基本的なことなのかもしれませんが…どなたかご教授よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
初心者なんですね。
手っ取り早く、入力値をResponse.Writeしてやるのがいいかと思います。但し、必ずHTMLEncodeしてください。
例)
<input type="text" name="Text1" value="<%=Server.HTMLEncode(Request.Form("Text1")) %>">
No.2
- 回答日時:
こんちくは。
>>そもそもエラーチェックというのは基本的には次のページで行うものなのですか??
いや。別に、どこでやってもいいんですけどね(汗
>>入力内容にエラーがあった場合にASP側でチェックをして
の条件からすると、「ASPで入力内容チェックする」=「次ページに飛ばす」のが自分の中の固定概念であるからかもしれませんが。
多分、その方が楽。。。というか、サーバに一回処理を投げなきゃいけないわけなので、やっぱ次ページかな。。。と。
>>入力項目ページ内でエラーチェックして入力項目ページ内にエラーメッセージを表示させる、
ASP側で入力チェックをやらないなら、全然いいんですけどね。
JavaScriptでチェックしてやってください。
個人的には、「ASPで入力項目ページ内で入力エラーチェックを行う」のはできないと思ってますので。
(クライアント側で入力した内容を一度サーバに渡さなきゃいけないよな~?となると、やっぱり~みたいな感じで。
やはり、そのことをASPでやるよりは。。。
JavaScriptもしくは、Ajaxやらなにやらの非同期通信の言語(?)でやった方がよいかと。
>>入力された項目は表示させたまま。というのは不可能なのですかね。
に関しては。。。
page1.asp
<form name ="Form1" method ="POST">
<input type ="text" name ="t_1" value ="<% =request.form("t_1")%>">
<input type ="button" name ="b_1" onClick ="go_next()">
</form>
<script type ="text/JavaScript">
<!--
function go_next(){
alert(document.F1.t_1.value);
document.F1.target ="_self";
document.F1.action ="page2.asp";
document.F1.submit();
}
//-->
</script>
page2.asp
<%
response.write(request.form("t_1"))
Dim i
Dim re_str
i = request.form("t_1")
if i = 1 Then
re_str = "きゃ~。"
else
re_str = "いや~。"
end if
%>
<body onload =ONLD()>
<form name ="Form1" method ="POST">
<input type ="text" name ="t_1" value ="<% =re_str %>">
</form>
</body>
<script type ="text/JavaScript">
<!--
function ONLD(){
document.F1.target ="_self";
document.F1.action ="page1.asp";
document.F1.submit();
}
//-->
</script>
こんな感じにしとけば、
page1で入力したものを、page2でチェックして、NGなら何かしら戻すことが可能かと。
(後は、仕様次第なのでなんともですが、応用すれば、入力された項目と同じ項目を再表示してやれます。
No.1
- 回答日時:
こんちくは。
ん~。いくつか方法はありますが、環境の明記がないので、考え付いたことをテキトーに。
フレーム構成のページの場合。
メインフレームとサブフレーム(サブフレームは表示領域0)にわけて、入力項目は、メインフレーム内。
チェック処理時に、サブフレームに投げてチェックさせる。
エラーのメッセージは、サブフレーム内のHTML文内のテキストフォームにでも入れておく。
エラーだったらメインフレーム内のページを入力項目のページにsubmit。
JavaScriptで、サブフレーム内のテキストフォームに文字があるかないか判断して、表示させる。(まぁ、戻ってくる以上、無いはずは無いですが。
フレーム構成じゃない場合。ただし、入力項目ページも、次のページもASPファイルの場合(個人的には断然こっちのが好きですが
入力項目のページから、次のページにsubmitした際に、次のページにて、まずチェック。
エラーがあったら、submitで入力項目のページに戻す。
その際に、フォームの中に何か突っ込んでsubmitをかけてやることで、「request.form」やら「request.querystring」にてエラーとして突っ込んでおいたフォーム内の情報が取得可能。
後は、Ajax使って、非同期でサーバと通信してサーバの方でチェックさせて戻す。。。とか。。。
まぁ、一番簡単に説明できるのは上二つかな。。。
でも、これで、「ASP.netなんです」とか言われたらどうしようもないですが。(知らないので。。。
早々のご回答ありがとうございます。
「ASP.net」ではありません。
今回はフレーム構成のページではないので後者の方が当てはまるとおもうのですが…やはり入力項目ページ内でエラーチェックして入力項目ページ内にエラーメッセージを表示させる、なおかつ入力された項目は表示させたまま。というのは不可能なのですかね。
そもそもエラーチェックというのは基本的には次のページで行うものなのですか??
すいません、質問ばかりになってしまって。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで入力したものを変数で扱...
-
条件により、リンク先に画面遷...
-
文末の改行コードを削除したい
-
Javascript 郵便番号の入力欄で...
-
JQueryで2つのテキストフィー...
-
ASP エラーチェック VBScript
-
onClickとsubmitの処理順序
-
テキストボックスを無効にする...
-
複数の入力欄についての入力チ...
-
ラジオボタンによるフォームの...
-
テキスト入力フォームの値を画...
-
プルダウンで選択すると、DBの...
-
sessionの値でボタンを活性・非...
-
プルダウン選択を変更すると、...
-
ボタン無しでフォーム内容送信
-
【jsp/Java】チェックボックス...
-
SELECTの選択状態を、複数のVAL...
-
【jQuery】input nameの文字列...
-
ハイパーリンクを別ウインドウ...
-
2次元配列で2項目についてソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
条件により、リンク先に画面遷...
-
JSPとJavaScriptの連携について...
-
Webブラウザにてページのりロー...
-
日付入力欄の表示形式を自動的...
-
javascriptで入力フォームが空...
-
フォームの値が0だったら空白...
-
メールフォームの入力確認(チ...
-
txtbox「確認用メール」へのペ...
-
JavaScriptを使って、整合する方法
-
イベント発生時に入力待ち状態...
-
Javascriptで同じ数字を2回打...
-
javascriptの勉強中です
-
テキストボックス入力を半角英...
-
入力欄の消去方
-
vbsでフォームに値を入力できない
-
文末の改行コードを削除したい
-
フォームの表示が消えてしまう...
-
フォームから入力すると、入力...
-
Javascriptが機能せず原因が分...
おすすめ情報