WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:IFとalertで入力チェックをする方法について

0:[投稿] かずち [2005/03/07 12:25 ][環境:IE6,win2000 わかりません]

フォームで、氏名が入力されていなければメッセージが表示されるようにしています。
メッセージが表示されるところまではよいのですが、
OKボタンを押すと、フォーム内の全ての項目がクリアされてしまします。入力したデータは残しままにするにはどのようにすればよいでしょうか。
どなたかアドバイスお願い致します。
以下記述です。

function blank()
{
if(document.hakuiform.tenpo.value == "")
 {
  alert ("店舗名が入力されていません");
 }
else {document.hakuiform.action="http://www.kcn.ne.jp/cgi-bin/kcnform/fmail.cgi";}
}


1:[回答] を [2005/03/07 13:24 ]

alertにフォームの内容をクリアするという機能はなかったと思います。
alert後に何か連動させていませんか?
サブミットで自己呼び出しをしている場合は、フォームから取得したデータで再設定を行わなければなりません。

サブミットする場合も、たとえば
function blank()
{
if(document.hakuiform.tenpo.value == "")
{
 alert ("店舗名が入力されていません");
 return false;
}
else {
retrun true;
}
}

if (blank()) {
document.hakuiform.action="http://www.kcn.ne.jp/cgi-bin/kcnform/fmail.cgi";
document.hakuiform.submit();
}
等としたほうが安全です。


2:[質問] かずち [2005/03/07 13:52 ]

詳しく回答頂きありがとうございます。

他にスクリプトもありませんし、
<script>〜<script>の記述は上記の通りです。

formタグは
<FORM name="hakuiform"  method="POST" onSubmit="blank()">
となっています。

もし他に改善箇所等ありましたらご教授ください。
勉強不足で申し訳ありません。


3:[回答] を [2005/03/07 14:26 ]

onSubmitハンドラを使用している場合、一番最初の書き込み方法ではフォームの送信をしてしまいます。
サブミットしたときにblankを呼び出すという意味ですので、当たり前ですねw

1のようにblankをした結果でサブミット行うという方法はいかがでしょうか?
たとえばinput type="submit"で送信しているならば、input type="button" onClick="blank"等々。。。


4:[回答] tete [2005/03/07 14:37 ]

<FORM name="hakuiform"  method="POST" onSubmit="blank()">

<FORM name="hakuiform"  method="POST" onSubmit="return blank()">


5:[完了] かずち [2005/03/09 14:57 ]

皆様 ありがとうございます。
「を」さんの方法で、type=buttonにしたら
現象が解決できました。

まだまだ初心者なのですが、上手く動作した喜びを
味わえ、勉強する意欲もわいてきました。
ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World