• 締切済み

このスクリプトは動かないですね

初心者ですみません 複数の変数をそれぞれ違う数値以下だったらAを表示し、それ以上ならBを としたいです 書いてみたスクリプトは function count_chkB(form) { var totalB = 0; var max = form.chk_box_Bn.length; for (var index = 0; index < max; index++) { if (eval("document.area_chk.chk_box_Bn[" + index + "].checked") == true) { totalB += 1; } } if totalB < 4; alert("あなたタイプは、 " + B2 + " です。"); else alert("あなたのタイプは、" + B1 + "です"); } どうかよろしくお願いします

みんなの回答

回答No.1

「document.area_chk.chk_box_Bn」←どのように「area_chk」の「chk_box_Bn」配列にGUI要素オブジェクトを代入してますか? もし、そのプログラムが正しいのなら下記の2つは同じになるハズです。 >form.chk_box_Bn >document.area_chk.chk_box_Bn

関連するQ&A

  • Javascriptで formが未定義?

    初心者なので稚拙な質問ですみません function count_chkA(form) { var totalA = 0; var max = form.chk_box_An.length; for (var index = 0; index < max; index++) { if (eval("document.area_chk.chk_box_An[" + index + "].checked") == true) { totalA += 1; } } alert("あなたのタイプは、 " + totalA + " です。"); と記述して <input type=button value="Aを判定する" onClick="count_chkA(form)"> で内容を表示さえたいのですが count_chkAが定義されていないと出てしまいます ついでですが chk.chk_box_Anの内容によって表示する二種類を選びたいですが、方法が判りませんので、これについても教えていただければ大変助かります

  • javascriptでチェックボックスの選択状況をチェックする方法につ

    javascriptでチェックボックスの選択状況をチェックする方法について質問です。 チェックボックスを <input type="checkbox" name="chk[]" value="1"> <input type="checkbox" name="chk[]" value="2"> のようにした場合、チェックボックスが1か所以上選択されているかどうかは、 var count = 0; for (var i=0;i<document.myform.elements['chk[]'].length;i++){ if(document.myform.elements['chk[]'][i].checked){ count++; } } if(count==0){ window.alert("チェックしてください!"); } のようにすればチェック可能ですが、inputタグで <input type="checkbox" name="chk1[]" value="1"> <input type="checkbox" name="chk1[]" value="2"> <input type="checkbox" name="chk2[]" value="A"> <input type="checkbox" name="chk2[]" value="B"> のように「name」の配列名が変化する場合はどのようにすればチェック可能でしょうか?

  • java script フォームのチェックボックス入力制限について

    java script フォームのチェックボックス入力制限について どなたかお教えください。 以下のコードを書き換えて、現状では1つのチェックボックスを複数にし(かつ、複数選択可にし)、チェックボックスをチェックした場合のみ「選択肢」ラジオボタンがアクティブになる仕様にしたいと考えております。 サイト上で見つけたサンプルコードをいじっているのですが、何分素人なのでうまく行きません。どなたか助けていただけると助かります。 よろしくお願いします。 <script type="text/javascript"> function fchk3(obj){ var frm=obj.form; var len=frm.elements.length; if(obj.checked==true){ for(var i=0; i<len; i++){ if(frm.elements[i].type=="radio"){ frm.elements[i].disabled=false; } } }else{ for(var i=0; i<len; i++){ if(frm.elements[i].type=="radio"){ frm.elements[i].checked=false; frm.elements[i].disabled=true; } } } } </script> <form name="form3" action="#"> <label for="chk3"><input type="checkbox" id="chk3" name="chk3" onclick="fchk3(this)" checked="checked" />このボタンのチェックを外すとラジオボタンが無効化</label><br /> <label for="chk3_r1"><input type="radio" id="chk3_r1" name="r1" />選択肢</label> </form>

  • フォームの上下に一括チェックボックスを置くには?

    HTML+Javascriptで、選択削除のフォームを作っています。 一覧の上下に一括チェックボックスを置きたいのですが上手く行かないのです。 -------------------- javascript↓ -------------------- //一括チェック用チェックボックス function allcheck() { var count = document.delete.chk.length; var allcheck = document.delete.chk_all.checked; for ( var i=0; i<count; i++) { var check = document.delete.chk[i].checked; if (allcheck == true) { document.delete.chk[i].checked = true; } else { document.delete.chk[i].checked = false; } } } //個別チェック用チェックボックス function check(onjCheck) { if (onjCheck.checked == false) { document.delete.chk_all.checked = false; return; } var count = document.delete.chk.length; for (var i=0; i<count; i++) { if (document.delete.name != "chk_all" && document.delete.chk[i].checked == false) { return; } } document.delete.chk_all.checked = true; } -------------------- HTML↓ -------------------- <form action="" name="delete"> <fieldset> <input type="checkbox" name="chk_all" id="all_head" onclick="allcheck(this)"> <label for="all_head">すべて選択/解除</label> <input type="submit" value="選択した項目を削除"> </fieldset> <fieldset> <input type="checkbox" name="chk" onclick="check(this)"> 項目1 <input type="checkbox" name="chk" onclick="check(this)"> 項目2 <input type="checkbox" name="chk" onclick="check(this)"> 項目3 </fieldset> <fieldset> <input type="checkbox" name="chk_all" id="all_foot" onclick="allcheck(this)"> <label for="all_foot">すべて選択/解除</label> <input type="submit" value="選択した項目を削除"> </fieldset> </form> このように記述しています。 上か下か、片方であれば一括チェックを実現できました。 当方Javascript初心者です。 よろしくご教示願います。

  • チェックボックスのチェックについて

    submit時に一つでもチェックがなければアラートを表示 チェックがあれば進む・・・としたいです。 <form action=next.html name=form1> <input type=checkbox name=checkbox1 value=1> <input type=checkbox name=checkbox2 value=2> <input type=checkbox name=checkbox3 value=3> <input type=checkbox name=checkbox4 value=4> <input type=checkbox name=checkbox5 value=5> ~以下50まで続きます <input type=submit value=submit> </form> function countChecked(form1) { var total = 0; var max = 50; for (var index = 0; index < form1.checkbox.length; index++) { total += form1.checkbox[index].checked ? 1 : 0; } if(countChecked(document.form1)) > 0) { return true; } else { alert("no"); return false; } return(total); } 過去に似たような質問を参考に作ってみましたがダメでした。 チェックボックスの名前の付け方が悪いのでしょうか。

  • チェックボックスの選択チェック

    ラジオボタンの選択チェック、セレクトボタンの選択チェックのあとにチェックボックスの選択チェックをしたいのですが、どのように入れればよいのでしょうか。教えてください。 ↓参考までに↓ function check() { var flag=0; if( document.form1.seibetu.length){ flag=1; var i; for(i=0; i<document.form1.seibetu.length; i++) if(document.form1.seibetu[i].checked)flag=false; } if(flag){ alert('性別が選択されていません'); return false; } if(document.form1.nenrei.value=="")flag=true; if(flag){ alert('年齢が選択されていません'); return false; } if( document.form1.Q1.length){ flag=1; var i; for(var i=0; i<document.form1.Q1.length; i++) if(document.form1.Q1[i].checked)flag=false; if(flag){ alert('Q1が選択されていません'); return false; } else {★★★ここに入れたい★★★   ;} } }

  • javascriptのsubmitを使ってデータをpost送信したい。

    javascriptのsubmitを使ってデータをpost送信したい。 aaa.phpというファイルに複数のチェックボックスがあり、リンクをクリックしたときに チェックされた値のみをbbb.phpへ引き渡したいです。 自分なりに書いてみましたが、bbb.phpへは遷移するものの、データが表示されません。 document.form1.method部分をGETにすると、データは表示されますが、POSTにすると うまく引渡しができません。 的外れな書き方をしているかもしれませんが、どなたかご教授いただけませんでしょうか? よろしくお願いいたします。 【追記】 チェックボックスの数は固定ではなく変動があり、値も実際はランダムです。 デザインの都合上どうしてもaタグでしか記述が出来ません。 ------------------------------------------------------------------------------ 【aaa.php】 <script language="JavaScript"> <!-- function mailform() {  var i = 0;  var chkvalue = "";  var count = 0;  var chk = document.getElementsByName('no');  for(i=0; i<chk.length; i++) {   if (chk[i].checked == true) {    chkvalue += chk[i].value;    count++;   }  }  if(count == 0) {   alert("チェックされていません。");   return false;  } else {   document.form1.action = "./bbb.php";   document.form1.method="post";   document.form1.submit();  } } //--> </script> <a href="#" onClick="send()">bbb.phpへ遷移する</a> <form name="form1">  <input type="checkbox" name="no" value="1"><br />  <input type="checkbox" name="no" value="2"><br />  <input type="checkbox" name="no" value="3"><br />  <input type="checkbox" name="no" value="4"><br /> </form> 【bbb.php】 var_dump($_POST["no"]);

  • チェックボックスのvalueの取得方法タイプ1と2

    質問1 )) select要素の選択されたoption要素のvalueを取得する方法は タイプ1のように専用のものが用意されていますが、 チェックボックスの場合もそれ専用のものはありますか? 質問2 )) タイプ2ではチェックボックスの<input value=~>のvalueを取得することができましたが、 タイプ1では取得することができませんでした。正しいと思うのですが、なぜでしょうか。 質問3 )) タイプ1とタイプ2の目的は同じですが、どちらの書き方の方が良いでしょうか。 タイプ2のほうがシンプルで短くよさそうなのですが、 多くのサイトではタイプ1を使っているところが多いようです。 ちなみに、サンプルでは1つ1つ直接書くやり方をしていますが、 実際は配列を使って複数のselect要素やチェックボックスのvalueを取得するつもりです。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form> <select name="aaa" onchange="cd(this.form)"> <option value="A1"></option> <option value="A2"></option> <option value="A3"></option> </select> <ul id="uli"> <li><input type="checkbox" name="bbb" id="b_1" onchange="cd(this.form)" value="B1" /><label for="b_1"></label></li> <li><input type="checkbox" name="bbb" id="b_2" onchange="cd(this.form)" value="B2" /><label for="b_2"></label></li> <li><input type="checkbox" name="bbb" id="b_3" onchange="cd(this.form)" value="B3" /><label for="b_3"></label></li> </ul> </form> <script type="text/javascript"> // タイプ1 function cd(r) { var slt = r.elements["aaa"].options[r.elements["aaa"].selectedIndex].value; alert(slt); var chk = document.getElementById('uli').children; for(i=0,len=chk.length; i<len; i++){ if(chk[i].checked == true){ alert(chk[i].nodeValue); } } } // タイプ2 function cd(r) { var slt = r.aaa.value; alert(slt); var chk = r.bbb; for(i=0,len=chk.length; i<len; i++){ if(chk[i].checked == true){ alert(chk[i].value); } } } </script> </body> </html>

  • フォームの入力チェックをすると既に入力した項目が消える

    実は過去のQ&Aの中でご紹介されていた ホームページを拝見させて頂いたのですが、 残念ながら私の応用力が足りず、 上手く作ることが出来ません。 下記のように書いてみたのですが、 これでは未入力のメッセージにOKを押すと その前に入力したものが全て消えてしまいます。 何方か、正しい書き方をご教示下さいますよう 宜しくお願い申し上げます。 <script language="JavaScript"> <!-- function checkForm(){ if(document.form1.chk1.checked == false && document.form1.chk2.checked == false) { alert('チェックなし'); return false; } { flag = 0; for ( i = 0 ; i < document.form1.radiobtn.length ; i++){ if (document.form1.radiobtn[i].checked){ flag = 1; } } if (!flag){ alert('ラジオなし'); return false; } if(document.form1.sel.selectedIndex == 0){ alert('メニューなし'); document.form1.sel.focus(); return false; } if(document.form1.bun.value == ""){ alert('文字なし'); document.form1.bun.focus(); return false; } } return true; } //--> </script>

  • 未選択のプルダウンメニューをアラートしたい

    過去に同じような質問もありましたが、いろいろ検索してこちらの過去ログを拝見しても解決できなかったので質問させてください。 フォームで未入力の項目に対してアラート&フォーカスされるようにしました。 ここに『住んでいる県』(プルダウン)を追加したいのですがどうしてもうまくいきません。 <script type='text/javascript'> <!-- function check(frm){ var hissu=Array('name','zip','sex'); var hissu_nm = Array('名前','郵便番号','性別'); var len=hissu.length; for(i=0; i<len; i++){ var obj=frm.elements[hissu[i]]; if(obj.type=='text' || obj.type=='textarea'){ if(obj.value==''){ alert(hissu_nm[i]+'は必須です'); frm.elements[hissu[i]].focus(); return false; } }else{ for(var j=0, chk=0; j<obj.length; j++){ if(obj[j].checked) chk++; } if(chk==0){   alert(hissu_nm[i]+'は必須です'); return false; } } } return true; } //--> </script> どうかお分かりになる方よろしくお願いいたします。

専門家に質問してみよう