• 締切済み

FireFoxでJavaScriptのエラーが出ます。

現在JavaScriptを独学しはじめた者ですが、ご回答の方よろしくお願いいたします。 右側のフレームに文字又は数字を入れてクリックすると左側のフレームに反映されると言うスクリプトです。 IEでは問題なく動作しますがFireFoxだと動作しません。 親フレーム <frameset cols="20%,*"> <frame src="left.html" name="left"> <frame src="right.html" name="right"> </frameset> 左側のフレーム <input type="text" name="answer"> 右側のフレーム <form> <input type="text" name="question"> <input type="button" value="click" onclick="parent.left.answer.value=this.form.question.value"> </form> アドバイスよろしくお願いいたします。

  • nafs
  • お礼率75% (3/4)

みんなの回答

  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.4

> 直接の回答ではありませんが、Firefoxの場合、ブラウザメニューの【ツール(C)】→【JavaScriptコンソール(C)】を開きながらJavaScriptやスタイルシートのデバグを行なえます。 最近のものではエラーコンソールという項目になっています。一応間違わないように勝手ですが補足^^; それと、FireFoxって言ったらイヤです(笑) http://www.mozilla-japan.org/support/firefox/faq#spell-abbreviate

nafs
質問者

お礼

ご回答ありがとうございました。 エラーコンソールの存在は知っていましたが、Firefoxのスペルは知りませんでした。(笑) Fx又はfxでも良いんですね。 勉強になりました!

  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.3

例えばこれならいけるはずです。フレーム名だけでなくフォーム名も指定しましょう。 <form> <input type="text" name="question"> <input type="button" value="click" onclick="parent.left.ans.answer.value=this.form.question.value"> </form> <form name="ans"> <input type="text" name="answer"> </form>

nafs
質問者

お礼

ご回答ありがとうございました。 MAN_MA_RUIさんのおっしゃるようフォーム名を設定しても やはりIEのみでしか動作しませんでした。 Firefoxでは parent.links.ans has noproperties とエラーが出ます。 Firefoxでも動作するようなスクリプトが 見つかりましたので参考までに記しておきます。 左側フレームはMAN_MA_RUIさんのおっしゃるようにform名を指定。 <form name="sent"> <INPUT type="text" name="answer"> </form> 右側のフレームのHead内に以下のソースを書き function sendnumber() { parent.left.document.sent.answer.value=document.testform.question.value } body内から onclick="sendnumber()" で呼び出して使用するとIEでもFirefoxでも動作致しました。

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.2

parent.left.answer.value こういう書き方はIEでしか通用しない特殊な書き方だからです。 きちんと正攻法で書きましょう。

  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.1

直接の回答ではありませんが、Firefoxの場合、ブラウザメニューの【ツール(C)】→【JavaScriptコンソール(C)】を開きながらJavaScriptやスタイルシートのデバグを行なえます。 覚えておくと便利な機能ですよ。

nafs
質問者

お礼

ご回答ありがとうございました。 エラーコンソールではparent.links.sent has no propertiesとエラーが出ているのは確認済みでした。

関連するQ&A

  • 親フレームの変数にアクセス(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が動かない

    javascript初心者です。 画面を三分割し、画面ロード時にそれぞれのフレームの位置を表示するという、サンプル的なのを作ったのですが、画面は分割されますが、上、左、右 ってのが表示されないです。 javascriptの記述の仕方が根本的に違いますかね? 下記に書いてあるのがそのソースコードです。 どなたかお願いします。 <html> <head> <title>FrameSample</title> <script type="text/javascript" > function frameinit(){ frames["top"].document.write("上"); frames["left"].document.write("左"); frames["right"].document.write("右"); } window.onload=frameinit; </script> </head>    <frameset rows="100,*">      <frame src="newpage4.html" name="top" >       <frameset cols="50,50">          <frame src="newpage4.html" name="left">         <frame src="newpage4.html" name="right">        </frameset>   </frameset> </html>

  • VBでのInternetExplorerのオブジェクトへのアクセスについて教えてください!

    はじめて質問させていただきます。 現在VB(WHS?)で自動巡回プログラムを作成しております。 その中で2つ、どうしてもできないことがあるので どうぞよろしくお願いいたします。 1)formも存在している中でformに入っていないオブジェクトの指定方法 ---------------------------------  例:  <FORM name="form1" method="post" >   <INPUT type="text">   <INPUT type="button" value="ボタン1">  </FORM>  <INPUT type="ここに文字をセットしたい"><INPUT type="button" value="これを押したい"> ---------------------------------  ボタン1とかかれたボタンには、  CreateObject("InternetExplorer.Application").document.form1.elements(1).click  などでアクセスすることができますが、フォームに入っていないオブシェクトにアクセスできません。 2)frameの向こうがframeで、その先のソースのオブシェクトの指定方法 ---------------------------------  手前のフレーム  <html>  <frameset rows="*,*">   <frame src="f1.htm" name="f1">   <frame src="f2.htm" name="f2">  </frameset>  </html>  ---------------------------------  奥のフレーム  <html>  <frameset cols="*,*"> <frame src="f1-1.htm" name="f1-1"> <frame src="f1-2.htm" name="f1-1">  </frameset>  </html> ---------------------------------  この状態でf1-1.htm上のオブジェクトにアクセス  (ボタンを押したり値をセット)したいのです。  いろいろためしたのですが、どうしてもできず、  投稿させていただきました。  よろしくお願いいたします。

  • 左右に分かれているフレーム間での値の受け渡し

    こんにちは、はじめまして。 左右に分かれているフレーム(右にあるフレームを押下すると、左側のフォーム内の処理が走り、その結果(フラグなど)をサーバに送りたいです。 ソースは以下のようになっています。Javascriptで値の受け渡しをしたいのですが、どのようにすればsubmitができるかわかりません。どなたがご存知の方、よろしくお願いします。 ↓以下ソース↓ ~右側~ <form action="menu.php" method="post" name="form_menu"> <input type="button" value="test" onClick="push();">      省略 </form> <script language="javascript"> function push() {  --ここが分かりません-- ここで左側のフォームに送るフラグ値をセットして  それを左側のフォームにsubmitしたいです。 } </script> ~左側~ <form action="input.php" method="post" name="form_input">      省略 </form> ~フレーム~ <FRAMESET cols="80%,20%" frameborder="0"> <FRAME SRC="input.php" name="frame_input"> <FRAME SRC="menu.php" name="frame_menu"> </FRAMESET>

    • ベストアンサー
    • PHP
  • 他のフレームにあるボタンを使用不可にするには?

    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> 以上です。

  • <input>

    お聞きしますがチャット等で<input type="submit" value="入室" name="submit">で入室できますがこれだと自分のフレーム内からはみ出してしまいます。 CGIを組まないで外部からHTMLだけでやりたいのですが無理でしょうか? ちなみに <form method="post" action="http://" name="enter"> 名前<input type="text" name="user" value="名前"> <input type="submit" value="入室" name="submit"> </form> こんな感じで、これだと <frameset rows="100,*"> <frame src="1.html" name="1"> <frame src="2.shtml" name="2"> </frameset> で、1が先程の入室画面で2を発言後の画面で3を発言画面だとします。 1から3に飛ばし、発言した言葉を2に送るようにしたいのですが1で入室画面を押すと、元の本チャットへ戻ってしまうので困ります。 後、<frameset>の中の背景等を強制的に他の色にしてみせる事はできませんでしょうか?

    • ベストアンサー
    • HTML
  • location.hrefを使用したFRAME表示

    location.hrefを使ったjavascriptを作ろうとしています。 <script type="text/javascript"><!-- location.href = "http://www.yahoo.co.jp/"; // --></script> の改良版として、http://www.yahoo.co.jp/をフレームの右側に 表示させたいと考えています。 (src使用ではなくjavascriptのlocation.hrefを使うことがMUSTです) <head> <script type="text/javascript"><!-- right.location.href = "http://www.yahoo.co.jp/"; // --></script> </head> <body> <FRAMESET cols="50%,50%"> <FRAME name="left" src="left.html"> <FRAME name="right" src="right.html"> </FRAMESET> </body> としてみましたがうまくいきません。 location.hrefはmetaタグ内でしか有効ではないにも関わらず right.の指示をメタタグ内部で指定していないことが原因かも しれません。 javascriptのlocation.hrefを使ってフレームの右側に 表示させる方法をご教授願います。

  • フォームの値をうまく出力できない

    フォーム(1.htm)で、質問と答えと入力し、 その結果を次のページ(2.asp)で表示させるASPを作成しました。 以下のように作成したいのですが、うまくいきません。 どうしたらいいのでしょうか。 宜しくお願いします。 ・質問と答えは10個入力されるとはかぎらない ・例えば7個入力されたとき、question1からquestion7まで入力されるとはかぎらない(question2が空欄で、question9に入力される場合もある) ・どのように入力された場合でも、qとaの画像は、q1.gif・a1.gifから 連続で表示されるようにする。 ・フォームで入力されたところを上から順番にq1.gif~、a1.gif~の画像を使って、2.aspに表示させる。 ****1.htm***** <form method="POST" action="2.asp"> <input name="question1" type="text"> <input name="answer1" type="text"> … <input name="question10" type="text"> <input name="answer10" type="text"> </form> ****2.asp************ question1 = Request.Form("question1") answer1 = Request.Form("answer1") … question10 = Request.Form("question10") answer10 = Request.Form("answer10") Response.Write ("<table>") Response.Write ("<tr>") Response.Write ("<td><img src= q1.gif></td>") Response.Write ("<td>" & question1 & "</td>") Response.Write ("</tr>") Response.Write ("<tr>") Response.Write ("<td><img src= a1.gif></td>") Response.Write ("<td>" & answer1 & "</td>") Response.Write ("</tr>") … Response.Write ("<tr>") Response.Write ("<td><img src= q10.gif></td>") Response.Write ("<td>" & question10 & "</td>") Response.Write ("</tr>") Response.Write ("<tr>") Response.Write ("<td><img src= a10.gif></td>") Response.Write ("<td>" & answer10 & "</td>") Response.Write ("</tr>") Response.Write ("</table>")

  • javascriptでCGIを実行するには

    htmlタグ <form method="post" action="・・・/cgi-bin/gogo.cgi"> <input type="text" name="name" size="20" value=""> <input type="submit" value="送信"> 上記で送信ボタンを押すとcgi側でnameを受け取れますが、 以下の場合はcgiは動作するのですが、nameを受け取れません、 受け取れる方法を教えてください。 <script type="text/javascript" language="javascript"> <!-- function gogo(){ document.write('<img src="・・・/cgi-bin/gogo.cgi">'); } // --> </script> </head> <body> <form method="post" action="javascript:gogo()"> <input type="text" name="name" size="20" value=""> <input type="submit" value="送信"> </form>

  • エラー:書き込みができません が出てしまいます

    フレーム(rightup) が表示しているURLを調べて表示させるJavaScriptを書きました。rightupの表示内容が初期状態のときは動きます。ところが、初期状態と異なるURLを表示させると以下のようなエラーが出てしまいます。 エラー:書き込みができません 以下、フレーム定義のHTML、URLを調べて表示させるJavaScriptの含まれているHTMLの抜粋を示します。 理由等お分かりの方教えていただけないでしょうか。よろしくお願いします。 フレーム定義のHTML(抜粋) <FRAMESET cols="59%,41%"> <FRAME src="left.html" name="left" id="left"> <FRAMESET rows="85%,15%"> <FRAME src="right_up.html" name="rightup" id="rightup"> <FRAME src="right_bottom.html" name="rightbottom" id="rightbottom"> </FRAMESET> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> JavaScriptの含まれているHTML(抜粋) <HTML> <HEAD> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> <SCRIPT LANGUAGE = "JavaScript"> <!-- function ShowProperty() {top.rightbottom.document.write(window.top.rightup.location.href)} //--> </SCRIPT> </HEAD> <BODY> <CENTER> <FORM NAME = "fom"> <INPUT TYPE="button" value="GO" onclick=ShowProperty()> </FORM> </CENTER> <TABLE border="1" width="100%"> <TBODY> <TR><TD><A href="http://www.asahi.com" target="rightup">朝日</A></TD></TR> <TR><TD><A href="http://www.yahoo.co.jp" target="rightup">Yahoo</A></TD></TR> </TBODY> </TABLE> </BODY> </HTML>

専門家に質問してみよう