フレームの下のボタンを押した時の問題

このQ&Aのポイント
  • フレームの下のボタンを押した時、Netscapeでは値を正常に取得できずNULLが返ってくるという問題が発生しています。
  • 下のフレームにあるボタンを押し、上のフレームの値を取得するためのJavaScriptのコードがありますが、Netscapeでは正常に動作しません。
  • この問題の解決策をご存知の方はアドバイスをいただきたいです。
回答を見る
  • ベストアンサー

フレームの下のボタンを押した時なのですが

下のフレームにあるボタンを押して、下記のスクリプトを呼び出し 上のフレームの値を取得したいのですが、このソース,IEでは正常 に動くのですが、NetscapeではNULLって帰ってきます。 きちんと値を取ってきて欲しいのですが・・・。 どなたかご存知の方アドバイス宜しくお願いします。 <SCRIPT LANGUAGE="JavaScript"> <!-- function before_submit(point) {   document.forms[0].hdn_MokuhyoSE.value = arent.fm_top.document.forms[0].cmb_MokuhyoSE.value;    alert(document.forms[0].hdn_MokuhyoSE.value)    return true; } //--> </SCRIPT> このソースは下のフレームのASPに記述しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • tamaCo
  • ベストアンサー率66% (47/71)
回答No.1

たまコです。 HTMLの内容が記載されていないのでおそらくなんですが 「cmb_MokuhyoSE」は<select>ですか? NNではcmb_MokuhyoSE.valueでは現在選択されているoptionの値を 取得してくれません。以下のように記述します。 #改行していますが本来1行です。繋げてくださいませ。 arent.fm_top.document.forms[0].cmb_MokuhyoSE.options[arent.fm_top.document.forms[0].cmb_MokuhyoSE.selectedIndex].value 記述が長くていやならば(^-^; var x, y; x = arent.fm_top.document.forms[0].cmb_MokuhyoSE.selectedIndex; y = arent.fm_top.document.forms[0].cmb_MokuhyoSE.options[x].value; #「arent」は「parent」の転記ミスですか?ちょっと気になったもので。 うまく行くといいんですが。がんばってください。

参考URL:
http://www.shiojiri.ne.jp/~openspc/JavaScript/ref/form/selIndex.htm
kanato
質問者

お礼

たまコさんありがとうございました!! うまく値を取得することができました。 いろいろ教えてくださってとても助かりました。 また何かあったら宜しくおねがいします。

関連するQ&A

  • 複数のsubmitボタンで押されたボタンを取得する方法

    form内の、submitボタンの値が拾えません。 1つだけsubmitボタンを設置すると値が拾えますが、 2つ以上submitボタンを設置すると拾えません。 仕様上、無理なのでしょうか? <SCRIPT language="JavaScript"> function move_post(){ alert(document.frmMvPost.btn.value); } </SCRIPT> <FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()"> <INPUT type="submit" name="btn" value="テスト1"> <INPUT type="submit" name="btn" value="テスト2"> <INPUT type="submit" name="btn" value="テスト3"> </form>

  • フレーム分けされたJSPでのsubmit

    JSP画面の上フレームがframeA,下がframeBで 上のフレームにsubmitボタンがある時、 下のフレームのフォームをsubmitしたい場合は どのようにすればいいのでしょうか? 以下のようにしているのですが、うまく動いていません。 教えて下さい。 現在書いているframeAの処理 ================================================== <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> <!-- function doSubmit(){ parent.frameB.document.ManagementFORM.submit(); } //--> </SCRIPT> <INPUT TYPE="submit" VALUE="登録確認画面へ" onClick="doSubmit()"> =============================================================== frameBのFORM ============================================================== <FORM METHOD="POST" ACTION="ManagementProcessServlet" NAME="ManagementFORM"> ==============================================================

    • ベストアンサー
    • Java
  • submitするとなぜか2度実行する

    以下のようなコーディングすると、IE6では2度POST?しているように見えます。Netscape7.1では、1度実行です。なぜ、IE6で2度実行? <INPUT type="submit" value=" 登録 " onclick="submit();"> function submit() { document.forms['sisaku'].test.value = "OK"; document.forms['sisaku'].submit(); }

  • フレーム内検索をCGI/CSS以外で実行する方法

    フレーム内検索をCGI/CSS以外で実行する方法はありますか? ウェブページをフレームで作っているのですが、メニュー側に検索窓を設けて、メイン側(もしくはフレーム関係なく別タブ開いてもかまいません)に検索結果を表示したいと考えています。 とある人のソースを真似ているのですがその人はCGIで検索を行っていました。しかし私の使っているドメインはCGI非対応です。googleを利用した検索も試してみました。しかしフレームなしならうまくいくのですがフレームありではメインページが真っ白になるだけになります。 ちなみにそのときのソースは大体こんな感じです。 <html> <head> <script> <!-- function addstring() { document.forms[0].q.value = 'site:??.com ' + document.forms[0].q.value; return true; } // --> </script> <base target="main"> </head> <body> <form onSubmit="addstring()" action="http://www.google.com/search"> <input type="hidden" name="hl" value="ja" /> <input type="hidden" name="ie" value="UTF-8"> <input type="hidden" name="oe" value="UTF-8"> <input type="text" name="q" size="31" maxlength="256" value="" /> <input type="submit" name="btnG" value="検索" /> </form> </body> </html> 不可能であるなら検索はあきらめることにします。 ご教授よろしくお願いします。

  • ラジオボタンでreadonlyの切替え

    ラジオボタンでreadonlyの切替えをしたいのですが、どうもうまくいきません。ラジオボタンの値の拾い方でつまづいているようです。 <script Language="JavaScript"> <!-- function set( n ) { document.main.Submit.value = document.main.elements[n].value; document.main.Submit.style.backgroundColor = document.main.elements[n].style.backgroundColor; document.main.年月日.value = 'やっほ'; document.main.年月日.style.background = 'white'; if (document.main.shori.value = '複写'){ document.main.年月日.readOnly = ''; alert(document.main.shori.value); } else if (document.main.shori.value = '修正'){ alert(document.main.shori.value); document.main.年月日.readOnly = ture;} } // --> </script> <FORM NAME=main ACTION="★" METHOD="POST"> <INPUT TYPE="RADIO" NAME="shori" VALUE="修正" CHECKED onClick="set(0);">修正 <INPUT TYPE="Radio" NAME="shori" VALUE="複写" onClick="set(1);">複写<BR> <INPUT TYPE="text" NAME="年月日" SIZE="20" VALUE="" readonly style="background-color : #FFCCCC;" style="ime-mode: inactive"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>

  • フォームで条件によってボタンの処理を変える

    フォームでパスワードを入力してもらい、確認用にもう一度入力した際、 誤入力があればアラート、正しく同じ値が入力されればsubmitにしたいと思っており、下記のようなコードを書きましたが、同じ値を入力した際にIEでエラーがでてしまいます(FirefoxやSafariでは動きます)。 当方Javascriptの知識に乏しく、どなたか助けていただけませんでしょうか?宜しくお願いいたします。 <html> <script language="JavaScript"> <!-- function passCheck(){ pass1 = document.free.PASSWORD.value; pass2 = document.free.PASSWORD2.value; if(pass1!==pass2) {alert("入力された確認用パスワードが違います");} else if(pass1==pass2) {document.free.submit.type="submit";} } //--> </script> <body> <form method="POST" action="submit.cgi" name="free"> <p> <input type="password" size="20" name="新パスワード" id="PASSWORD"><br> <input type="password" size="20" name="新パスワード(確認)" id="PASSWORD2"> </p> 確認のため、上記と同じパスワードをご記入ください。 <p><input type="button" name="submit" value="確認する" onclick="passCheck()"/></p> </form> </body> </html>

  • 他のフレームにあるボタンを使用不可にするには?

    2つのフレームに分割した画面で、一方のフレームにあるボタンを押したら、他のフレームにあるボタンを使用できなくしたいのですが、うまくいきません。下記のスクリプトでは、エラーになってしまいます。どのようにしたら良いでしょうか、よろしくお願いいたします。 <フレームの設定> <html> <head><title>フレームを縦に分割する</title></head> <frameset cols="50%,50%"> <frame src="left.html" name="light_frame" frameborder=1 border=1> <frame src="right.html" name="left_frame" frameborder=1 border=1> </frameset> </html> <left.htmlの内容> <html> <head> </head> <body> <form name="myform"> <input type="button" name="bt_del" value="削除"> </form> </body> </html> <right.htmlの内容> <SCRIPT Language="JavaScript"> function func1(){ //NG parent.left_frame.document.form.myform.bt_del.disabled = true; //これもNGでした //parent.left_frame.document.forms['myform'].bt_del.disabled = true; } </SCRIPT> <html> <head> </head> <body> <p><input type="button" value="変更" onclick="func1()" > </body> </html> 以上です。

  • 親フレームの変数にアクセス(JavaScript)

    [index.html] <script src="script.js"></script> <frameset rows="50%,*" frameborder="1"> <frame src="content1.html"name="cont1"> <frame src="content2.html" name="cont2"> </frameset> [script.js] var test_text="てすと"; [content1.html] <form> <input type="text" name="in"> <input type="button" onClick="window.parent.test_text = document.forms[0].in.value;" value="IN"> </form> [content2.html] <form> <input type="text" name="out"> <input type="button" onClick="document.forms[0].out.value = window.parent.test_text;" value="OUT"> </form> のようになっています。 「index.html」の「script.js」の変数に、「content.1html」と「content2.html」からアクセスしたいです。 ですが、フレームになっているため、思うような動作をしてくれません。 よろしくお願いします。

  • javascript submit()の後の動作

    scriptはjsファイルで分離しています。 送信ボタンをクリックした場合の動作は期待通りの動作をしています エンターキーを押したときの動作が、フォームの送信は正常に実行されるのですが、 document.getElementById('ctxt').value= '';が実行されません。 その後、試しにアラートも入れてみましたけど、動作していないようです document.forms[txt_submit].submit();の後の部分が実行されるようにするにはどうしたらいいのでしょうか? function Key_on(){ if(window.event.keyCode == 13){ document.forms[txt_submit].submit(); document.getElementById('ctxt').value= ''; alert('ん?'); } } function send(){ document.txt_submit.submit(); document.getElementById('ctxt').value= ''; } ----------------- <form id="txt_submit" name="txt_submit" action="log.cgi" method="post" target="log" autocomplete="off"> <input type="text" id="ctxt" name="ctxt" size="20" value="" onkeydown="Key_on()"> <input type="button" value="送信" onclick="return send();"> </form>

  • プルダウンから移動時のフレームの外し方

    こんにちわ。 今、上にプルダウンメニューがあり、下にリンク先ファイルを 表示する、上下のフレームページを作ってます。 この時、TOPページ(フレーム無し)やレンタルBBSの ページにも行けるようにしたいのですが、 上のフレームが残ってしまい、困ってます。 アドレスを記入する場所に target="top" と付け加えてみたけれど 上のフレームは残ったままです。 サンプルのscriptで【top.sita.location.href 】と 指定してるから、下のフレームにしか対応しないのでしょうか? 何処かを変更して、TOPやBBSに移動する時だけ フレームを無くし、全画面表示する方法はないでしょうか? ご存知の方、いらっしゃいましたら宜しくお願いしますm(__)m <SCRIPT language="JavaScript"> <!-- function myGo(){mySelect = document.myForm.myMenu.selectedIndex; top.sita.location.href = document.myForm.myMenu.options[mySelect].value; }// --></SCRIPT> <select name="myMenu"> <OPTION value="http://www.***">TOP <OPTION value="http://www.***">うさぎ <OPTION value="http://www.***">ねこ <OPTION value="http://www.***" target="top">BBS                     ↑ココに入れました </select> <input type="button" value="GO!" onClick="myGo()"> </form>

専門家に質問してみよう