• ベストアンサー

フォームの入力チェック

kumagoro-の回答

  • kumagoro-
  • ベストアンサー率57% (36/63)
回答No.3

まず、JAVAとJavaScriptは別物です。はっきりさせましょう。 回答ですが、質問文のソースにはmyformやksがないのではっきりしたことは分かりませんが、 myformという名前のフォームの中のksという名前のテキストボックスに何かが入力されているかどうかは、 書かれている通りのif(document.myform.ks.value == "")で判断出来ると思います。 他の方法としてはif(document.myform.ks.value.length == 0)といった条件分岐も考えられます。 ですが、その前にどの段階でJavaScriptが動かないかを調べる必要があります。 まずCheckという関数が呼ばれているかどうかです。 もしかしたら他のエラーでこけているのかも知れません。 ブラウザがIEならば、[ツール]→[インターネットオプション]→[詳細設定]→[スクリプトエラーごとに通知を表示する] にチェックが入っていますか? 入っていればエラーの個所と内容が、わかりにくく(笑) 表示されるはずです。 とりあえず、アドバイス出来るのはこれぐらいです。 参考にならなけばすいません。

harapon
質問者

お礼

kumagoro-さん、ご回答ありがとうございます。すみません、JavaScriptでした。この後、すっかりCGIをあきらめて、javascriptでメールを送信するようにしたところ、メールで送ってくれるようになりました。私にはCGIとjavaSの兼ね合いは高い壁でした・・・。エラーの個所を教えてもらっても本当にわかりずらく(泣)、それすらもわかりませんでした。でももう少し頑張ってみます。ありがとうございました!

関連するQ&A

  • JavaScriptにて、2つのチェックボックスのチェックができません

    お世話になっております。 お分かりになる方いらっしゃいましたら、ご教授願えますでしょうか? 現在採用に関する応募フォームを作成しています。 JavaScriptにてフォーム内のチェックボックスに チェックが入っているか、必須チェックをさせたいと思っています。 テキストボックスやコンボボックスなど、いくつか必須チェックがある中で、 チェックボックスの項目についての必須チェックがうまくいきません。 チェック完了後、cgiにてメールを送信するようにしているのですが、 チェックがされず、メールを送信してしまいます。 ローカルで行ってみたのですが、チェックをスルーして、 cgiに遷移してしまいます。 フォームイメージは以下の感じです。 <応募フォーム> --------------------------- 希望勤務地:□本社 □大阪 --------------------------- 2つのチェックボックスどちらにもチェックが入っていない場合は、 エラーメッセージを出し、処理を中止します。 どちらのチェックボックスにもチェックが入っていても、 エラーは出さずにcgiへ遷移します。 以下は現在のコードの内容です。 <HTMLコード> <form method="POST" action="send.cgi" name="応募フォーム" onSubmit="return check()"> <input type="checkbox" name="希望勤務地" value="本社" checked>本社 <input type="checkbox" name="希望勤務地" value="大阪">大阪 <input type="submit" value=" 送信 "> <input type="reset" value=" 取消 "> <Scriptコード> function check(){ if(!document.応募フォーム.希望勤務地.value.checked){ flag = 1; window.alert('必須項目[希望勤務地]にチェックがされていません'); } } 色々試してみたのですが、うまくいきませんでした。 チェックボックスのnameを同じ名前にしているのが原因でしょうか? お手数ですが、宜しくお願いいたします。

  • 選択肢によって入力必須が変わるフォームの入力チェックJavaScrip

    選択肢によって入力必須が変わるフォームの入力チェックJavaScript フォームの入力チェックのJavaScriptを作成しています。 特定のラジオボタンにチェックを入れた場合のみ、 入力必須になるテキストボックスの 入力チェックJavaScriptを教えてください。 ラジオボタンが複数あるフォームで、 <input type="radio" name="type" value="type1" /> <label>タイプ1</label> <input type="radio" name="type" value="type2" /> <label>タイプ2</label> タイプ2を選んだ場合のみ、必須項目にしたいテキストボックスがあります。 <input type="text" name="name1" /> テキストボックスが空白だった場合にアラートを出すJavaScriptは 現在このようになっています。 (参考にしていたサイトがあるのですが、忘れてしまいました・・・。) $(function(){ $("form1").submit(function(){ if($("input[name='name1']").val()==""){ $("input[name='name1']").css("border","1px solid #A70F00"); alert('必須項目に未入力があります'); return false; }) }) このJavaScriptをさらに、if文で括って、 name="type" の value が type2 であれば・・・、という処理を追加すればよいのだと 思いますが、書き方が分からず困っています。 どうかよろしくお願いします。

  • 入力チェックをしたいです。

    結構初心者です。 フォームに入力された内容をチェックしたいので、まず下記のように書きました。 <script Language="JavaScript"> <!-- function submitCheck(){ var flag = 0; // 設定開始(必須にする項目を設定します) if(document.insert.MatterID.value == ""){ flag = 1; } else if(document.insert.name.value == ""){ flag = 1; } else if(document.insert.Correspondencedate.value == ""){ flag = 1; } if(flag){ window.alert('必須項目に未入力があります。'); // チェックされていない場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } --> </script> で、これにチェックボックスの入力チェックも含めたいのですが、ただ else if(document.insert.bld_ReceiptNo.checked){ flag = 1; } こうするだけではダメなのですね;; どうすればいいかお知恵を拝借できませんでしょうか。

  • フォームのname値を配列にしてJavaScriptでフォームのチェックをする方法

    JavaScriptでフォームの半角数字のチェックをしたいのですが、 form内容をCGI(PHP)に渡すためname値を配列にしないといけないのですが、 以下のスクリプトだとエラーが出てしまいます。 *実際はif(isNaN~)と<input~>をループで書き出しており、行数が不特定なので それぞれ別のname値を使うことができない状態です。 <script language="JavaScript"> function check() { if(isNaN(document.form1.hoge[0].value)){ alert("値は半角数字で入力してください。"); return(false); } if(isNaN(document.form1.hoge[1].value)){ alert("値は半角数字で入力してください。"); return(false); } return(true); } </script> <form method="post" action="xxx.cgi" onSubmit="return check()" name="form1"> <input type="text" name="hoge[0]"> <input type="text" name="hoge[1]"> </form> 特にCGIに渡す必要がなければ <input type="text" name="hoge"> <input type="text" name="hoge"> としてやればチェックができるのですが、どうしても次の 処理があるためname値を配列にする必要があります。 解決方法がわかる方がおられましたらご教授ください。 以上よろしくお願いいたします。

  • 入力必須フォーム→ エラーのページへ

    アンケートのフォームを作り、このタグで入力必須の項目を入力しないと送信できないようになったのですが、エラーのページの設定がわかりません。 <input type=hidden name="required" value="email,name> エラーになった場合、エラーのページへリンクするようにするタグをおしえてください。

  • 同一ページの複数フォームを一括送信したい

    会社にてあるイベントの申込みページを作成している、ほぼ初心者です。 ショッピングカートへとフォームから飛ばしたいのですが、プログラムがよくわからず行き詰っています。 以前の回答にもあったhttp://okwave.jp/qa/q3418439.htmlを真似て作ってみましたが、 最初のものだけをピックアップして実行されてしまいます また、本来はチェックボックスにチェックが入っているもののみを送信したいんです </style> <script language="javascript"><!-- function send() { document.a11.submit(); document.b11.submit(); ・ ・ ・ ・ } //--></script> これをヘッダー内に書き込み <form name="a11" action="/products/detail.php" method="post" target="_blank"> <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="checkbox" name="quantity" value="1" /><br /> </form> <form name="b11" action="/products/detail.php" method="post" target="_blank"> <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="140" /> <input type="hidden" name="product_class_id" value="637" /> <input type="checkbox" name="quantity" value="1" /><br /> </form> ・ ・ ・ ・ ・ というフォームが数十個あります。 数十個あるうちのチェックボックスにチェックが入っているもののみを 送信したいのですが、プログラムの組み方をご教授願えませんでしょうか? 順番としては (1)チェックボックスにチェックが入っているものを認識 (2)チェックボックスにチェックが入っているものを順に送信 という感じなのかなと考えていろいろ調べてみたのですが、 わからない状態です ほぼ初心者なので、お手数ですが、サンプル記述などもいただけると 大変たすかります どうぞよろしくお願いいたします

  • フォームからsubmitをした後再読込させない

    ほぼ初心者でフォームからの申込みを作っています 現在 <form name="a11" action="/products/detail.php" method="post" > <input type="hidden" name="mode" value="cart" /> <input type="hidden" name="product_id" value="137" /> <input type="hidden" name="product_class_id" value="634" /> <input type="checkbox" name="quantity" value="1" /><br /> <input type="submit" value="受講する" onClick="alert('カゴに入れました');value='受講する'" /> </form> というフォームが数十個あるのですが、 一つチェックボックスにチェックを入れて送信するとページの再読み込みがされて チェックボックスのチェックが消えてしまいます どのチェックボックスにチェックを入れたかは残したまま、次のsubmitを押させたいのです 申込み者がどのフォームにチェックを入れて送信をしたかを見れるようにして 次のページに飛ばしたいのです どうかご教授願います HTMLの項目で質問させていただきましたが、JavaScriptのプログラム例など 併せてご教授いただけますと助かります どうぞよろしくお願いいたします

  • 1ページで2つのフォームをチェックしたいのですが…

    1つのページに同じ項目のフォームを2つ作りました。 そしてそれにチェックを設けたいと思いフォームチェックのスクリプトを入れてみました。 が、しかし、、 上のフォームはチェックが動くのですが、 下のフォームは何を入れてもチェックがエラー検出をして 次のページに進めなくなってしまいます。。 こちらはどのようにしたら両方のチェックが働きつつ 次のページに値を渡せるのでしょうか? 正しい書き方を教えてください。 よろしくお願いします。 <html> <head> <script language="JavaScript"> <!-- // 入力チェック function chkInputForm() { Error = new Array(); i = 0; // お客様の業種入力チェック if (document.forms[0].elements["part"].selectedIndex == 0) { Error[i] = "[ 1・2の選択 ] は必須項目です。"; i++; } // 会社(事務所)のご住所入力チェック if (document.forms[0].elements["pref"].selectedIndex == 0) { Error[i] = "[住まい] は必須項目です。"; i++; } // 未入力があればアラート if (Error.length > 0) { ErrorText = Error.join("\n"); alert ("以下の項目は必須です。\n\n"+ErrorText); return false; } return true; } //--> </script> </head> <body> <form action="inquiry.php" method="post" onsubmit="return chkInputForm()"> <table class="table" summary="お問合せテーブル"> <tbody><tr> <th>1か2</th> <td> <select name="part" style="width: 200px;"> <option value="0">---ご選択下さい---</option> <option value="1">1</option> <option value="2">2</option> </select> </td> </tr> <tr> <th>住まいは</th> <td> <select name="pref" style="width: 200px;"> <option value="0">---ご選択下さい---</option> <option value="1">日本</option> <option value="2">海外</option> </select> </td> </tr> </tbody></table> <input class="iepng" name="button" value="送信" type="submit"> </form> <form action="inquiry.php" method="post" onsubmit="return chkInputForm()"> <table class="table" summary="お問合せテーブル"> <tbody><tr> <th>1か2</th> <td> <select name="part" style="width: 200px;"> <option value="0">---ご選択下さい---</option> <option value="1">1</option> <option value="2">2</option> </select> </td> </tr> <tr> <th>住まいは</th> <td> <select name="pref" style="width: 200px;"> <option value="0">---ご選択下さい---</option> <option value="1">日本</option> <option value="2">海外</option> </select> </td> </tr> </tbody></table> <input class="iepng" name="button" value="送信" type="submit"> </form> </body> </html>

  • フォームの必須事項について

    よろしくお願いします。 以下のようなメールフォームを作成しました。 <form action="../../cgi-bin1/questionform.cgi" method="post"> <p>・名前<br /> <input type="text" name="お名前" size="40" /> </p> <p>・メールアドレス<br /> <input type="text" name="email" size="40" style="ime-mode:disabled" /> </p> <p>・郵便番号<br /> <input type="text" name="郵便番号" size="10" style="ime-mode:disabled" /> </p> <p> <input type="submit" value="登録" /> <input type="reset" value="リセット" /> </p> </form> 上記のメールアドレスとお名前の入力が無いと、送信出来ないように必須事項にしたいのですが、このような場合は、htmlに何らかの記述をすればよいのでしょうか? 全てを必須にするには以下の記述をすれば良いようですが、私が実行したい内容とは少し異なっていたためご質問をさせていただきました。 <input type="hidden" name="space_check" value="on"> そしてどうやら、java スクリプトを使うと良いようですが解説しているサイトを一度拝見したのですが全く分かりませんでした。 どなた様か、ご指導の程よろしくお願いします。

    • ベストアンサー
    • Java
  • メールフォームの入力チェックが動きません

    前任者が制作したメールフォームの入力チェックが動かないということで、 修正をしてみたのですが、思うように動いてくれません。 javascriptで作成されていて、 テキストフォームとプルダウンのチェックまでは未入力だと、 アラートが出てくるのですが、 最後の同意のチェックボックスの未チェックはスルーされてしまいます。 問題のjavascriptは下記になります。 ----------------------------------------------------------------- var mndFileds=new Array('Company','Last Name','Email','Phone','LEADCF3','Description'); var fldLangVal=new Array('会社名','お名前','メールアドレス','お電話番号','お問い合せ種別','お問い合せ内容'); function checkMandatery(){ for(i=0;i<mndFileds.length;i++){ var fieldObj=document.forms['name1'][mndFileds[i]]; if((fieldObj) && ((fieldObj.value).replace(/^\s+|\s+$/g, '')).length==0){ alert(fldLangVal[i] +' を入力してください。'); fieldObj.focus(); return false; }else if(fieldObj && (fieldObj.nodeName=='SELECT') && (fieldObj.options[fieldObj.selectedIndex].value=='-None-')){ alert(fldLangVal[i] +' を入力してください。'); fieldObj.focus(); return false; }else if(document.forms['name1'].acceptance.checked){ alert('にチェックをしてください。'); return false; } } } ----------------------------------------------------------------- メールフォームのhtmlは以下になります。 ----------------------------------------------------------------- <form action='' name='name1' method='POST' onSubmit='javascript:document.charset="UTF-8"; return checkMandatery()' accept-charset='UTF-8'> <p>会社名(必須):<input name='Company' type='text' size="30" maxlength='100'/></p> <p>お名前(必須):<input name='Last Name' type='text' size="30" maxlength='80' /></p> <p>メールアドレス(必須):<input name="Email"></p> <p>お電話番号(必須):<input name='Phone' type='text' size="30" maxlength='30' /></p> <p>Webサイト:<input name='Website' type='text' size="40" maxlength='120' value="http://" /></p> <p>お問い合せ種別(必須): <select name='LEADCF3'> <option value='-None-'>–なし–</option> <option value='種別1'>種別1</option> <option value='種別2'>種別2</option> <option value='種別3'>種別3</option> </select></p> <p>お問い合せ内容(必須):<textarea name='Description' cols="40" width='250' height='250'></textarea></p> <p><input type="checkbox" name="acceptance" value="1" class="wpcf7-acceptance" />同意する</p> <p><input type="image" src="btn_send_contact.jpg" alt="送信する" name='save' /> <input type="image" onClick="this.form.reset();return false" src="btn_reset_contact.jpg" alt="リセットする" name='reset' /></p> </form> ----------------------------------------------------------------- 私自身javascriptに関してはあまり知識がなく、 手さぐりでこんな感じかな?と思っていろいろ試したり、調べてみましたが、 いい方法が思いつきませんでした。 詳しい方、ぜひご回答をお願いいたします。