• 締切済み

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

行き詰まっている点は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