回答を締め切って、良回答・次点を同じ人などにしてしまった場合、エラーメッセージがでますが、あれはどのようにすればできるのでしょうか?
フォームメールで、ラジオボタンでチェックするようにしてますが、グループ分けだけでは、重複した回答になってしまうのです。
やっていることは、5つの項目で、1~5まで順位をつけてもらいたい、ということです。
gooでも、ラジオボタンで重複チェックはできますが、エラーメッセージがでます。
あれと同じことがしたいです。
ただ当方、これに関してまったく見当もつかず、Javaさんかな~?、くらいの知識です。
詳しい方法などに関しては、さすがに初心者すぎて、お願いしづらいのですが、
参考HPや、こういうのでやるんだよ、程度のアドバイスで結構ですので、
何卒、よろしくお願い申し上げます。
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>
この回答への補足
どうもありがとうございました。無事できました。
本当に初心者のクセに、大変申し訳ございません。。。。
ところで、再度質問させていただきたいのですが、
項目の値1-5を、アルファベット、もしくは漢字、などにはできるのでしょうか?
ちょっとやってみたら、何をしても、「選びなおして」のメッセージがでます。
どこらへんをいじるのか???ちょっと怖くててがでません。
大変申し訳ないのですが、再度お教えいただければと思います。
よろしくお願い申し上げます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
診断サイトの作り方
-
ラジオボタンにタブインデック...
-
javascriptを使ってラジオボタ...
-
【急】ラジオボタンで選択問題
-
教えてください
-
ラジオボタンでの動的項目の変...
-
特定のラジオボタンが選択され...
-
ラジオボタンでdisabledとchecked
-
radioボタンの値の取得の仕方?
-
return trueとreturn falseの用...
-
onchangeイベントを強制的に発...
-
<JavaScript>tableタグを入力不...
-
【javascript・PHP】プルダウン...
-
javaScriptの変数をJavaの変数...
-
プルダウン 項目が多いので先頭...
-
HTMLコンボボックスへの項目追加
-
同名ボタンのクリック時要素番...
-
連動プルダウンのclonenode
-
slickのレスポンシブ > center...
-
複数のプルダウンを1つにまとめ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptを使ってラジオボタ...
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンにチェックを入れ...
-
ラジオボタン未チェックの場合...
-
チェックされたラジオボタンに...
-
Jvasvriptのlengthで個数が取得...
-
フォームPOST後「戻る」時のチ...
-
データベースの値を判断してラ...
-
チェックボックスのON/OFFに連...
-
ラジオボタンでチェックした項...
-
サイト内にGoogleサイトを表示...
-
JavaScript ラジオボタン デ...
-
ラジオボタンでdisabledとchecked
-
リンク文字クリックでラジオボ...
-
ポップアップウインドウで選択...
-
jQueryで複数のラジオボタンを処理
-
js radioボタンの「name」を多...
-
ラジオボタンとif文
おすすめ情報