出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

教えてください   HELPさん [2002/05/20 10:34:40] [2089]
  フォーム未入力チェック   北岳さん [2002/05/20 12:04:50] [2090]

[2089] 教えてください
投稿者:HELPさん 2002/05/20 10:34:40
はじめまして。
ASP初心者です。
以下のような項目を作って項目が未入力の時はエラー表示させます。
その時に入力されている項目に関しては中身をそのまま返してやりたいので、どうすればいいのでしょうか?
(現在RESPONSEはREDIRECTで返してます:エラーだけが返されていて入力項目はクリアされています)

職員番号:XXXXX
カナ氏名:XXXXXXXXXX
漢字氏名:XXXXXXXXXX
性別:X

入力項目はINPUT(TYPE=TEXT)です。
よろしくお願いいたします。

[2090] フォーム未入力チェック
投稿者:北岳さん 2002/05/20 12:04:50
ほぼ直前のスレッド、
[2073] Re:Netscape6.2で<a href "javascript:history.back(-1)">が正常に機能しません
で、フォーム入力値がASPから戻ると消えてしまう対策としまして、
 
>1案:session変数に格納
書き忘れましたが、ほぼ同じことがinput type="hidden" でも可能。
>2案:クライアントサイドで判定
 
>2案の方が好ましいのですが、チェック要不要の項目が入り乱れて沢山あると、書くのが面倒なようです。
と書きましたが、今回はチェック項目が少ないから2案にて。
なおreplace(/[ |\s|\t]*/g,"");の部分は、VBScriptのtrim関数の機能をJavaScriptで実現したものです。
 
------------- 1.htm ---------------------
<html><head>
<script language="JavaScript">
<!--
function ChkForm1(x){
var wdd1=x.ban.value;
var wdd2=x.yomi.value;
var wdd3=x.name.value;
wdd1=wdd1.replace(/[ |\s|\t]*/g,"");
wdd2=wdd2.replace(/[ |\s|\t]*/g,"");
wdd3=wdd3.replace(/[ |\s|\t]*/g,"");
if (wdd1==""|wdd2==""|wdd3=="") {
window.alert ("空白です。");
return false;
}
return true;
}
// -->
</script>
</head>
<body bgcolor="#ffffd0">
<form name="toko" action="/alias/a.asp" method="post" onSubmit="return ChkForm1(this);">
番号(半角):<input type="text" size="20" name="ban" value=""><br>
読み(カナ):<input type="text" size="20" name="yomi" value=""><br>
氏名(漢字):<input type="text" size="20" name="name" value="">  
<input type="submit" value=" GO ">
</form>
</body></html>



TreeBBS For ASP V.0.1.3
Program By YasNet