• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポイント配分を間違えたときに出るあのメッセージ)

エラーメッセージの対処方法とは?

このQ&Aのポイント
  • ポイント配分の間違いでエラーメッセージが表示された場合、回答の締め切りや順位の重複を回避する方法を知りたい。
  • フォームメールでのラジオボタンによる重複チェックではエラーメッセージが表示されるが、同様の機能を実現する方法を知りたい。
  • 初心者向けに参考HPや基本的なアドバイスを教えてほしい。経験がないため、具体的な方法は難しい。

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

  • ベストアンサー
  • Kizz
  • ベストアンサー率47% (30/63)
回答No.1

はじめまして、yukiko5さん。 こういったケースの説明が書かれているHPとか知らず、javascript全くわからない? ぽいんで、今回はやりたいこと(#質問を理解違いしてなければ)を実現できるよ!という コードをのせちゃいますね。 #javascriptについてながながと書かれても多分辛いとおもったので、あえてこの  やりたい事に限定した動くコードを書きました(^^ゞ #一応処理の説明コメントをいれているので、やっている事はわかるよと思うよ。  各javascript(関数・文)自体も理解したい!という事だったら、そこで使っている  関数名等で初心者向けのjavascriptのページとかで勉強してみてね。 #サクサクと作ったものだけど、そのまま使ってもらってもいいですよ。 #gooがどうしているかは、質問だした事がないのでソースがみれない・・gooと同じでは  ないです。 きっとこのradioの制御した後に次のページに渡すものと思うんだけど・・ この例のコードでは    ・項目1~5を、ans1~ans5という名前で、値1~5をセット。    ・次のページは、「XXX.XX」とダミーにしてある。 ので、君の使う環境に合わせて変更してね。 ではがんばって。 #長いレスになってしまいました^^; #gooが(実際にはHTML規格上によるものだけど)空白文字を無視して表示しちゃうんで  コードが行先頭から表示されて見づらくなっちゃうね。  コードをよくみたい場合は、メモ帳とかにコピーして "{" 単位にタブや空白文字で  段差をつけてみてね。 ==(ここから)==== <html> <head> <SCRIPT LANGUAGE="JavaScript"> <!-- function check() { var i; var message = ""; var flag = true; //配列[0]~[4]が値1~5のON指示あったかを判断する為につかう場所(0/1)=なし/あり var on_array = Array(0,0,0,0,0); var cnt = 0; //選択されている項目数をセット var val; //項目分のループ for(i=1;i<=5;i++) { //同値(順位)ONされてないか、またONされていない項目がないか、チェック //#eval()にて可変変数参照を可能にしている、 // ans1~ans5かつ[0]~[4]分固定書きしなくてもよいのでコード量軽減 //1項目5値分のループ※配列は[0]開始 for(j=0;j<5;j++) { var objname = "document.form1.ans"+i+"["+j+"]."; //ON選択されている箇所を発見 if( eval(objname+"checked") == true ) { cnt++; //指定値(順位)が既に選択済みかチェック val = eval(objname+"value"); if( on_array[val-1] != 0 ) { flag = false; //選択済み:同値複数選択判明 break; } on_array[val-1] = 1; //1項目1つのONチェックとなるようnameを同一にしている為、 //1cheked確認したら本項目は他ONありえない break; } } } if( flag == true && cnt != 5 ) //全項目選択されていない message = "各項目1つずくONチェックして下さい"; else if( flag == false ) //同値(順位)選択があった message = "同一値の指定なしでONチェックして下さい"; if( message != "" ) { alert(message); flag = false; } return(flag); } // --> </SCRIPT> </head> <body> <form name="form1" action="XXX.XX"> <!-- 1項目毎のHTMLコード:開始 --> 項目1<br> <input type="radio" name="ans1" value="1">項目1の値A<br> <input type="radio" name="ans1" value="2">項目1の値B<br> <input type="radio" name="ans1" value="3">項目1の値C<br> <input type="radio" name="ans1" value="4">項目1の値D<br> <input type="radio" name="ans1" value="5">項目1の値E<br> <p> ★2~4の部分は記載省略。同じような規則でかいてね★ 項目5<br> <input type="radio" name="ans5" value="1">項目5の値A<br> <input type="radio" name="ans5" value="2">項目5の値B<br> <input type="radio" name="ans5" value="3">項目5の値C<br> <input type="radio" name="ans5" value="4">項目5の値D<br> <input type="radio" name="ans5" value="5">項目5の値E<br> <p> <input type="submit" name="btn" value="送信" onClick="return check()"> </form> </table> </body> </html>

yukiko5
質問者

お礼

なんとかなってしまいました。ありがとうございました。

yukiko5
質問者

補足

どうもありがとうございました。無事できました。 本当に初心者のクセに、大変申し訳ございません。。。。 ところで、再度質問させていただきたいのですが、 項目の値1-5を、アルファベット、もしくは漢字、などにはできるのでしょうか? ちょっとやってみたら、何をしても、「選びなおして」のメッセージがでます。 どこらへんをいじるのか???ちょっと怖くててがでません。 大変申し訳ないのですが、再度お教えいただければと思います。 よろしくお願い申し上げます

すると、全ての回答が全文表示されます。

関連するQ&A