• ベストアンサー

onsubmitのこと

診断テストを作成しているのですが、「診断」をクリックすると下記のことを全部実行したいのですが・・・ (1)点数の計算 (2)点数によって判定Windowが出る (3)テキスト欄の記入もれ確認 (4)cgiを使ってのメール送信 <FORM name="form1" action="***.cgi" mathod="POST" onsubmit="displayScore();returnCheck()"> 上記のことは不可能でしょうか? ひとつのボタンで「診断」「送信」をいっぺんに実行したいのですが・・・ 初心者のため、どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • susie-t
  • ベストアンサー率86% (37/43)
回答No.1

可能です。 点数の計算、および判定windowの仕様が分からないので 詳しいソースは書けませんが、以下サンプルです。 <html> <head> <script> function check(form){ if(form.elements['ans'].value != 2){ alert("間違い><;"); }else{ alert("正解!"); } if(form.elements['name'].value == ""){ alert("お名前が入力されていません"); return false; }else{ return true; } } </script> </head> <body> <form name="form1" action="***.cgi" mathod="POST" onsubmit="return check(this);"> 1+1=? 答え:<input type="text" name="ans"/> 名前:<input type="text" name="name"/> <input type="submit"/> </form> </body> </html> onsubmit内でreturn falseするとsubmitをキャンセルできます。

noname#36746
質問者

お礼

初心者なので、すごく難しいのですが、ありがとうございました。

関連するQ&A