function incheckの中に、5つほどifを重ねてみました。条件に合わないとアラーとをだします。選択はラジオボタンで行っています。
条件に合わないと各々それに応じたアラートがでるところまではなんとか出来ましたが、
2回目に選択しなおして、かつそれが再度すべての条件にあっていないにもかかわらず、OKとされてしまいます。
一度ひとつのif条件にあったことをしてしまうと、そのif条件は2度目からチェックしてくれません。
どうすれば、つどつど全部のif条件をチェックしてくれるでしょうか?
尚、こちらにタグを貼ろうとしたら、質問の欄は文字制限があるようで、ちょっとオーバーしてしまいました。
どなたかが回答してくださったら、すぐに補足欄にはらさせていただきます。
あいまいな質問で申し訳ないのですが、どなたかよろしくご指導願います。
No.2ベストアンサー
- 回答日時:
ひとつづつ必ず選んで、順位付けをするようにするのでしょうか。
それで、一度りんごを1位にして、みかんを1位に選びなおすとりんごの未チェックが判定できない。ということでしょうか。
これは、チェックが外れたときにfalseにならないせいですね。
それだと、このようにしてはいかがですか。
----
<p>りんご
<input type="radio" name="R1" value="りんご" onclick="f11=true,f12=false,f13=false">
<input type="radio" name="R2" value="りんご" onclick="f21=true,f22=false,f23=false">
<input type="radio" name="R3" value="りんご" onclick="f31=true,f32=false,f33=false"></p>
<p>みかん
<input type="radio" name="R1" value="みかん" onclick="f11=false,f12=true,f13=false">
<input type="radio" name="R2" value="みかん" onclick="f21=false,f22=true,f23=false">
<input type="radio" name="R3" value="みかん" onclick="f31=false,f32=true,f33=false"> </p>
<p>いちご
<input type="radio" name="R1" value="いちご" onclick="f11=false,f12=false,f13=true">
<input type="radio" name="R2" value="いちご" onclick="f21=false,f22=false,f23=true">
<input type="radio" name="R3" value="いちご" onclick="f31=false,f32=false,f33=true"> </p>
---
他のラジオボタンが押されたときに、その他のフラグ情報をfalseにします。
もっとスマートな方法があるかもしれませんが、とりあえずお試しください。
この回答への補足
>ひとつづつ必ず選んで、順位付けをするようにするのでしょうか。
>それで、一度りんごを1位にして、みかんを1位に選びなおすとりんごの未チェック>が判定できない。ということでしょうか。
そうです。まさにそうです。
>これは、チェックが外れたときにfalseにならないせいですね。
そうか!そうすればいいのかー。
>それだと、このようにしてはいかがですか。
はい、さっそくやってみたいのですが、退社時間がきてしまいました。
自宅に帰ってから、再度挑戦いたします。
ひょっとしたらお礼が月曜になってしまうかもしれませんが、
申し訳ないのですが、少々お待ちくださいませ。
本当にありがとうございました。やってみまーす!
でけました。ありがとうございました。
とてもわかりやすかったです。
遅い時間にすばやく対応頂きまして助かりました。
ありがとうございました。
No.3
- 回答日時:
チェックが外れた時に、変数をfalseにしてないのが原因、というのは madman さんの回答の通りですね。
ラジオボタン1個ごとに変数を作って真偽値で判断されてますが、1位は今何で、2位は何で、ということを管理した方が、プログラムがすっきりしますよ。
以下、参考程度に
# スクリプト部
<SCRIPT><!--
f1 = f2 = f3 = 0;
RINGO = 1;
MIKAN = 2;
ITIGO = 3;
// 入力ミスの判別
function incheck() {
var err = '';
err += fcheck(RINGO, "りんご", err);
err += fcheck(MIKAN, "みかん", err);
err += fcheck(ITIGO, "いちご", err);
if (err) {
alert(err + "が選択されていません。");
return false;
}
return true;
}
// くだものの選択チェック
function fcheck(code, name, err) {
if (f1 != code && f2 != code && f3 != code)
return (err ? 'と' : '') + name;
return '';
}
//--></SCRIPT>
# BODY部
<P>
りんご
<INPUT type="radio" name="R1" value="りんご" onclick="f1=RINGO">
<INPUT type="radio" name="R2" value="りんご" onclick="f2=RINGO">
<INPUT type="radio" name="R3" value="りんご" onclick="f3=RINGO">
</P>
<P>
みかん
<INPUT type="radio" name="R1" value="みかん" onclick="f1=MIKAN">
<INPUT type="radio" name="R2" value="みかん" onclick="f2=MIKAN">
<INPUT type="radio" name="R3" value="みかん" onclick="f3=MIKAN">
</P>
<P>
いちご
<INPUT type="radio" name="R1" value="いちご" onclick="f1=ITIGO">
<INPUT type="radio" name="R2" value="いちご" onclick="f2=ITIGO">
<INPUT type="radio" name="R3" value="いちご" onclick="f3=ITIGO">
</P>
ちなみに、送信ボタンの onClick での入力チェックは不要です。
送信ボタンを押しても、FORM の onSubmit が動いて、チェックをしてくれます。
ありがとうございました。
せっかく私にあったJavaさんを書いていただいたのですが、
まだJavaを始めて1週間の私にはちょっと難しかったです。
今回はmadmanさんの方を参考にさせていただきますが、
今後の課題としてleazさんのがわかるようになりたいです。
ありがとうございました
No.1
- 回答日時:
回答できるかわかりませんが、とりあえずソースを見せてください。
この回答への補足
<script language="JavaScript">
<!--
f11=false;
f21=false;
f31=false;
f12=false;
f22=false;
f32=false;
f13=false;
f23=false;
f33=false;
//入力ミスの判別
function incheck() {
if (f11==false && f21==false && f31==false){
window.alert("りんごが選ばれていません");
return false;}
if (f12==false && f22==false && f32==false){
window.alert("みかんが選ばれていません");
return false;}
if (f13==false && f23==false && f33==false){
window.alert("いちごが選ばれていません");
return false;}
}
//--->
</script>
<form action="http://www.altoworld.com/form2/post.cgi"
method="POST" onsubmit="return incheck();">
<p>りんご<input type="radio" name="R1" value="りんご"
onclick="f11=true"> <input type="radio" name="R2"
value="りんご" onclick="f21=true"> <input type="radio"
name="R3" value="りんご" onclick="f31=true"></p>
<p>みかん<input type="radio" name="R1" value="みかん"
onclick="f12=true"> <input type="radio" name="R2"
value="みかん" onclick="f22=true"> <input type="radio"
name="R3" value="みかん" onclick="f32=true"></p>
<p>いちご<input type="radio" name="R1" value="いちご"
onclick="f13=true"> <input type="radio" name="R2"
value="いちご" onclick="f23=true"> <input type="radio"
name="R3" value="いちご" onclick="f33=true"></p>
<p>左から順に1位・2位・3位と考えてください。</p>
<p><input type="submit" name="B1" value="送信"
onclick="return incheck()"> </p>
</form>
こんなのです。よろしくおねがいします。。。。(ちゃんと動くかな???)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンのチェックが外れ...
-
JavaScriptでラジオボタンのチ...
-
JavaScript ラジオボタン デ...
-
ラジオボタンにタブインデック...
-
javascriptによる動的なリンク...
-
フォームPOST後「戻る」時のチ...
-
javascript作成してます。ラジ...
-
ラジオボタンのチェック数に応...
-
任意のinput要素同士の連動につ...
-
ラジオボタンとif文
-
【診断テストの作り方】結果に...
-
プルダウン 項目が多いので先頭...
-
<input>の選択肢をプルダウンメ...
-
TextBoxに半角数字以外を入れた...
-
【jQuery】input nameの文字列...
-
value内に変数を入れたい
-
二つの入力欄に、同時に同じ文...
-
return trueとreturn falseの用...
-
チェックボックスのON/OFFでVal...
-
JavaScriptにて動的に配列を作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンでチェックした項...
-
ラジオボタンの値でリンク先を...
-
データベースの値を判断してラ...
-
Form内のselectを連動させるに...
-
フォームPOST後「戻る」時のチ...
-
【診断テストの作り方】結果に...
-
チェックボックスとテキストボ...
-
複数のラジオボタンでの選択で...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンのリセット方法
-
チェックボックスのON/OFFに連...
-
JavaScript ラジオボタン デ...
-
jQueryで複数のラジオボタンを処理
-
ラジオボタンで診断テストを作...
-
ラジオボタンによる有効なボタ...
-
【javascript】firefoxでの、al...
おすすめ情報