• 締切済み

実行後、チェックボックスを無効にしたい。

行き詰まっている点はJavaであるらしいのですが、最近やっとPHPいじりに手を出し始じめたばかりの初心者の手元にある資料では、解決策が見つけられません。なかなか苦戦しております。 質問で要点を獲ていないと思われますが、どなたかお力添えをお願いできませんでしょうか。 $Javas = ' <SCRIPT LANGUAGE="JavaScript"> <!-- function hgclear() { self.document.F.dl.checked = false; if ((document.F.hg.value != "") || (document.F.di.checked == true)) { self.document.F.di.checked = false; //ここでチェックのクリア self.document.F.wsa.value = ""; self.document.F.hg.value = ""; } self.document.F.hg.focus(); } //--> </SCRIPT>'; これがもともとの配布されているPHPの記述です。 それに対し、 ▼現状 di 実行後、チェックボックスが有効になったままで次の動作でも実行を繰り返してしまう。 ▼したいこと 一度実行した後は無効にしたい(チェックをはずしたい)。 ▼してみたこと 5行目と6行目の間にself.document.F.di.checked = false;と書いてみた。 trueとfalseを入れ換え・書き替えてみた(すべて結果は思わしくない)。 なにか足りない情報がありましたらご指摘ください。宜しくお願い致します。

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

[追記] ・ $Javas = '...';の部分が埋め込まれているかということでしょうか。   ブラウザで実行してそのソースに$Javas の内容が含まれていますか。

3EL
質問者

補足

早速の回答をありがとうございます。 ご指摘を受けた箇所を自分なりにまとめてみました。 >$Javas = '...';  に対する実行が行はれているか。 ><form></form>の内部の名前が一致しているか。 実行するPHPには ((~前略~)) <FORM NAME="F" ACTION="under.php" METHOD="'.MTYPE.'" TARGET="under" onSubmit="setTimeout("hgclear()",10)"> if (!empty($ws) && $topmode != "short") { # Whisper表示・非表示 echo ' ||&nbsp;<B>Whisper</B> <INPUT TYPE="text" NAME="wsa" SIZE="10" CLASS="textform">'; } else { echo '<INPUT TYPE="hidden" NAME="wsa" VALUE="">'; } <B>直前の発言を削除</B><INPUT TYPE="checkbox" NAME="dl" VALUE="1" CLASS="checkform">'; if ($Dice) echo $DiceSelect; ((~後略~))</FORM> とあり、さらに質問に書いたJavaSprictを組み込んだPHPには $DiceSelect .= ' ||&nbsp;<B>おみくじ</B> <INPUT TYPE="checkbox" NAME="di" VALUE="1" TABINDEX="-1">'; と書いてあります。NAME指定も間違っていないようなのですが…。 >$Javas = '...';の部分が埋め込まれているかということでしょうか。ソースには... 実行するPHPに埋め込むようになっているようです。 ブラウザで実行してみたところ、質問に書いた$Javasと同様のものがきちんとソースに反映されていました。 ちなみに「直前の発言を削除(dl)」も同じくチェックボックスですが こちらは実行するときちんと無効に戻ってくれるので、いろいろ真似てはみるのですがやはり素人の浅知恵ではうまくいきません;

全文を見る
すると、全ての回答が全文表示されます。
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

これは、JavaではなくJavaScriptです。 JavaScriptの部分に間違いはなさそうです。 2点挙げてみます。 ・ $Javas = '...';   に対する実行が行はれているか。 ・ <form></form>の内部の名前が一致しているか。

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

関連するQ&A

  • チェックボックスの連動でJavaScriptの記述を短くしたい。

    【あ】、【い】という項目があり、それぞれの項目内にA、Bというチェック項目があります。 【あ】項目のAにチェックを入れると【い】のAにもチェックが入るように作りました。 以下のソースでもなんとか動くのですが、【あ】、【い】という項目が増える事とA、Bというチェック項目が増えることが判り、JavaScriptのソースを少しでも短くしたいのですが、なにか好い方法がございましたらお教え頂ければ幸です。 /************参考ソースです*****************/ <html> <head> <title>無題ドキュメント</title> <script> function check_a(){ if(document.form.a.checked==true) { document.form.a.checked=true; document.form.b.checked=false; document.form.aa.checked=true; document.form.bb.checked=false; } } function check_b(){ if(document.form.b.checked==true) { document.form.a.checked=false; document.form.b.checked=true; document.form.aa.checked=false; document.form.bb.checked=true; } } function check_aa(){ if(document.form.aa.checked==true) { document.form.a.checked=true; document.form.b.checked=false; document.form.aa.checked=true; document.form.bb.checked=false; } } function check_bb(){ if(document.form.bb.checked==true) { document.form.a.checked=false; document.form.b.checked=true; document.form.aa.checked=false; document.form.bb.checked=true; } } </script> </head> <body> <form name="form"> 項目【あ】 <input type="checkbox" name="a" onclick="check_a()"> A<BR> <input type="checkbox" name="b" onclick="check_b()"> B<BR> <br /> 項目【い】 <input type="checkbox" name="aa" onclick="check_aa()"> A<BR> <input type="checkbox" name="bb" onclick="check_bb()"> B<BR> <br /> </form> </body> </html> /*************************/ 何卒、宜しくお願い申上げます。m(_ _)m

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

    チェックボックスが2つあります。 一つが選択されたらテキストボックスが入力可能にしてあります。 Aを選択すると、Bのチェックが外れる、反対の場合も同じようにしたいのですが、下記のように書きましたがうまくいきません。 解決方法が分かられる方、教えて下さい。 *********************************************** function Change(){ if(document.myForm.chkB.checked ==true{ document.myForm.TxtA.disabled = true; document.myForm.chkA.checked = false; } else { document.myForm.TxtA.disabled = false; document.myForm.chkA.checked = true; } } ***********************************************

  • チェックボックスの無効化、有効化

    あるサイトを参考にチェックボックスの無効化、有効化を実装したいと考えています。 ソースは以下の通りなのですが、この場合、name属性にそれぞれ異なる番号(t1、t2、t3やc1、c2、c3)が振られている必要がありますが、 これを同じnameに統一して動作させるには、どのように記述したらよいのか教えて頂けませんでしょうか? nameのtとcを統一したいのではなく、t1、t2、t3を番号抜きのtに統一、c1、c2、c3を番号抜きのcに統一したいと思っています。 <script type="text/javascript"> function fchk2(obj, name) { var frm=obj.form; if(obj.checked==true) { /* チェックボックスが選択されている場合は、 テキストボックスを有効化(false) */ for(var i=1; i<=3; i++){ frm.elements[name+i].disabled=false; } } else { for(var i=1; i<=3; i++){ /* 無効化する前に、入力値をクリア */ if(name=='t'){ /* テキストボックスの場合 */ frm.elements[name+i].value=""; }else{ /* チェックボックスの場合 */ frm.elements[name+i].checked=false; } /* 無効化(true) */ frm.elements[name+i].disabled=true; } } } </script> <form name="form2" action="#"> <label for="chk1"><input type="checkbox" id="chk1" name="chk1" value="1" onclick="fchk2(this,'t')" checked="checked" />テキストボックスの無効化・有効化を切替(チェックを外すと無効化)</label><br /> <input type="text" name="t1" value="テキストA" size="20" /> <input type="text" name="t2" value="テキストB" size="20" /> <input type="text" name="t3" value="テキストC" size="20" /> <hr /> <label for="chk2"><input type="checkbox" id="chk2" name="chk2" value="1" onclick="fchk2(this,'c')" checked="checked" />チェックボックスの無効化・有効化を切替(チェックを外すと無効化)</label><br /> <input type="checkbox" name="c1" value="1" />選択肢A<br /> <input type="checkbox" name="c2" value="1" />選択肢B<br /> <input type="checkbox" name="c3" value="1" />選択肢C </form>

  • チェックボックスの未入力チェック

    ざっとですけれども <form action="**" name="myform" onsubmit="return Check()" method=post> <input type="checkbox" name="Erasedata" id="Erasedata" value="1" > <input type="checkbox" name="Erasedata" id="Erasedata" value="2" > ・・・ <input type="checkbox" name="Erasedata" id="Erasedata" value="5" > <input type="submit" value="選択されたものを削除する"> このようなチェックボックスがあったとして function Check() { for (i=0;i<document.myform.length;i++)  {   if(document.myform.Erasedata[i].checked==true) {return true;}  } alert("どこかにチェックを入れて下さい "); return false; } といった感じで未入力チェックをしています。 チェックボックスが複数の場合はうまく動くのですが、チェックボックスがひとつだとうまくいきません。スクリプトで何か問題があるようでしたらご指摘お願いできませんでしょうか。よろしくお願いいたします。

  • どれか1つでもチェックされていたら無効にする

    VB2010 7 Pro SP1 8つのチェックボックスと4つのラジオボタンがあり、チェックボックスにどれか1つでも チェックが入っていたらラジオボタンを無効にし、チェックが全部外れたら ラジオボタンを有効にしたいです。 下記のようなifで出来るかと思ったのですが、フォーム、ラジオボタン、チェックボックス どれに記述しても動きません。 どこに記述すればいいでしょうか? If CheckBox1.Checked Or CheckBox2.Checked Or CheckBox3.Checked Or CheckBox4.Checked Or CheckBox5.Checked Or CheckBox6.Checked Or CheckBox7.Checked Or CheckBox8.Checked Then RadioButton4.Enabled = False RadioButton6.Enabled = False RadioButton7.Enabled = False RadioButton8.Enabled = False Else RadioButton4.Enabled = True RadioButton6.Enabled = True RadioButton7.Enabled = True RadioButton8.Enabled = True End If

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

    ラジオボタンの選択チェック、セレクトボタンの選択チェックのあとにチェックボックスの選択チェックをしたいのですが、どのように入れればよいのでしょうか。教えてください。 ↓参考までに↓ 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 {★★★ここに入れたい★★★   ;} } }

  • チェックボックスのチェック方法

    チェックボックスのチェック方法でつまずいています。 以前の質問を参考にここまで作りましたがどうしても解決しないので 教えてください checkboxはPHP側でDBより取得したデータを表示するため件数分作成します 検索ボタンで表示した件数を絞り込むことを可能にしています 表示件数が20や10や5等は問題なくチェックされますが 表示件数が1の場合 elの戻り値が"undefined"になりうまく動作しません ほかの場合はelの戻り値は表示件数分になっています <form name=frm method=post action=/beta/index.php> <input type=checkbox name=sebchk[] value=1112236589> <input type=checkbox name=sebchk[] value=1112236590> <input type=submit name=sub_srch value=検 索> <input type=submit name=sub_kan value=実行 onClick="return chk_kan();"> <script language="JavaScript"> <!-- function chk_kan(n) { var sebchk_ok = 0; var el; var i; el = document.frm.elements['sebchk[]']; if ( typeof el == "undefined") { alert('該当データがありません。'); return false; } for (i = 0; i < el.length; i++) { if (el[i].checked == true) { sebchk_ok = 1; } } if (sebchk_ok == 0) { alert('チェック項目が未選択です。'); return false; } /* proceed ? */ if (confirm('処理を行います。\nよろしいですか?')) { return true; } return false; } //--> </script> 解りづらいとは思いますが宜しくお願いします

  • 現在javascriptでチェックボックスで選択した項目のvalueを

    現在javascriptでチェックボックスで選択した項目のvalueを次ページに渡すものを作成しています。 1つだけ選択すると正常に値が動くのですが、複数選択すると後に選択したほうの値だけが入ってしまいます。 複数選択した場合に選択した全てのvalueが入るようにするにはどうしたらいいでしょうか? 【1ページ目ソース】 <html> <head> <title>1page</title> </head> <body> <form name="F1" onsubmit="window.open('2page.html','_blank','');return false;"> A<input type="text" id="tanka1"> B<input type="checkbox" name="che1" id="check1" value="1">1 <input type="checkbox" name="che1" id="check1" value="2">2 <input type="checkbox" name="che1" id="check1" value="3">3 <input type="submit" value="送信" onclick=check();></form> </body> </html> 【2ページ目ソース】 <html> <head> <title>2page</title> <script> window.onload=function (){ document.F2.tanka1.value=window.opener.document.F1.tanka1.value; if (window.opener.document.F1.che1[0].checked)document.F2.check1.value=1; if (window.opener.document.F1.che1[1].checked)document.F2.check1.value=2; if (window.opener.document.F1.che1[2].checked)document.F2.check1.value=3; } </script> </head> <body> <form name="F2"> A<input type="text" id="tanka1"> B<input type="text" id="check1"> <br><br> </body> </html>

  • テキストボックスを無効にすると値が取得できない

    javascriptでこのようにテキストボックスを無効に してフォームを送信するとphp側でvalueの値が取得できないのですが、入力無効にすると valueは送られないんでしょうか? <form> <input type="text" id="sample" name="sample" value="値" /> </form> スクリプト .document.getElementById('sample').disabled = true; valueにはphpで値をセットし、それをテキストボックスで編集できないようにして 値を飛ばそうとしたのですがテキストボックスのvalueの値が来てないようです。 自分なりに考えたんですが、送信する瞬間だけ(submitボタンが押された時) テキストボックスを有効に戻すようにコードを書いているのですが これ以外で何かありますか? ---このように対処--- <form onsubmit="return disb()"> <input type="text" name="sample" value="値" /> </form> スクリプト document.getElementById('sample').disabled = true; function disb(f){ f.sample.disabled = false; }

  • 入力チェックをしたいです。

    結構初心者です。 フォームに入力された内容をチェックしたいので、まず下記のように書きました。 <script Language="JavaScript"> <!-- function submitCheck(){ var flag = 0; // 設定開始(必須にする項目を設定します) if(document.insert.MatterID.value == ""){ flag = 1; } else if(document.insert.name.value == ""){ flag = 1; } else if(document.insert.Correspondencedate.value == ""){ flag = 1; } if(flag){ window.alert('必須項目に未入力があります。'); // チェックされていない場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } --> </script> で、これにチェックボックスの入力チェックも含めたいのですが、ただ else if(document.insert.bld_ReceiptNo.checked){ flag = 1; } こうするだけではダメなのですね;; どうすればいいかお知恵を拝借できませんでしょうか。