このタイトルではちょっと分かり辛いですね。
leftframeにあるtextareaに会員名を入力すると同じ名前の階層のhtmlへ飛ぶようにしたいのです。それを右フレームに表示できないのです。
例えばabcさんがいた場合、/member/abc/my.htmlになります。
parent指定をしないとleftframeには出てくるのですが・・・
これはframesetなどがまずいのでしょうか?
大きく左右に分けられますが、右には入れ子のように上下2段のframeがあります。
以下にそのソースです。

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>

<frameset cols="160,1*" frameborder="NO" border="0" framespacing="0">
<frame name="leftFrame" scrolling="NO" noresize src="side2.html">
<frameset rows="1*,24" frameborder="NO" border="0" framespacing="0">
<frame name="home-1" src="top-ordermade.htm">
<frame name="bottomFrame" scrolling="NO" noresize src="frame-3.htm">
</frameset>
<noframes>
<body bgcolor="#FFFFFF">

<script language="JavaScript">
<!--
function Change(){
url="http://www.○○.co.jp/member/";
wo=document.MY.id.value;
parent.home-1.location.href=url+wo+"/my.html";
}
// -->
</script>

<form name="MY">
<input type="text" name="id" size="15">
<input type="submit" value="GO!"onClick="Change()">
</form>

 </body>
 </noframes>
</frameset>
</html>

どなたか宜しくお願いします。

A 回答 (2件)

少し分かりにくいですが、cokeyさんも言っておられますが


side2.html の中身が<noframes></noframes>間の内容であると仮定してですが、私がIE5.5とネスケ6で実行した結果では、ネスケではparentを指定してもleftframeに表示されませんでした。(右にも表示されませんでしたが)
IEでは構文エラーが出て、結果はネスケと同じでした。
それで
parent.home-1.location.href を

parent.frames[1].location.href に変えてやってみてください。
私のテストでは、うまく行ってます。
    • good
    • 0
この回答へのお礼

質問後も繰り返しやってみて出来るようになりました。
<script type="text/javascript">
<!--
function MainChange(){
var PanObject = document.Data.No.value;
if(PanObject){
top.home-1.location.href = "http://www.○○.co.jp/member/" + PanObject + "/my.htm";
}
}
//-->
</script>

最初にフレームセットが入れ子になっているのをうまく設定せずにやっていました。そしてご指摘のように<noframe>タグ間において矛盾が見つかりました。
それらを修正してみるとあっけなく出来てしまいました。

迷ったら最初に戻るが一番だと痛感しました。
ありがとうございました。

お礼日時:2001/03/10 02:58

この<noframes>~</noframes>の中身は、本来leftFrameに表示されているもの(すなわちside2.htmlの中身)と考えていいんでしょうか?



この場合side2.htmlの中身がおそらく重要になってくると思いますので、そこが確認できないと、どこが間違っているかという指摘は難しいと思います。
できればこのページがあるURLを載せていただければ話が早いと思いますが…。
    • good
    • 0
この回答へのお礼

質問後も繰り返しやってみて出来るようになりました。
<script type="text/javascript">
<!--
function MainChange(){
var PanObject = document.Data.No.value;
if(PanObject){
top.home-1.location.href = "http://www.○○.co.jp/member/" + PanObject + "/my.htm";
}
}
//-->
</script>

最初にフレームセットが入れ子になっているのをうまく設定せずにやっていました。そしてご指摘のように<noframe>タグ間において矛盾が見つかりました。
それらを修正してみるとあっけなく出来てしまいました。

迷ったら最初に戻るが一番だと痛感しました。
ありがとうございました。

お礼日時:2001/03/10 02:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qタイトルについて

こんにちは。よろしくお願いします。

HPビルダーで商用のHPを作成しています。
検索ロボットにひっかかるように、タイトルやキーワードをタグ入力?していますが、うまくいきません。

<TITLE>○○のお店</TITLE>
↑このタグを入れると、画面最上に「○○のお店」と表示されるようになりますよね?
それが、ビルダーのページ編集中には正常に表示されるのですが、いざアップロードすると表示されません。ソースを見てみても、ビルダーで入力したはずのタイトルやキーワードがみあたりません。
ただHPのアドレスが表示されているだけで・・・
何故なんでしょうか・・・

あまりPCに詳しくないので説明が下手でごめんなさい。
どなたか教えて下さい!!

Aベストアンサー

ソース拝見しました。
ブラウザの一番上、ホームページタイトルにあたるところに表示されないと言うご質問ですよね?

えと、表示されました。
IE6、Firefox、ネスケ7、Opera全て問題なかったです。
どのブラウザで、表示されませんでしたか?
できれば、全部見たいところです。差し支えなければ、アップロード済みのURLを教えてください。

#これは質問とは関係ありませんが、ソースに同じことが何度も書かれていて、無意味な箇所があります。
できる限り整斉しましょう。
⇒4行目の文字コードの箇所、19行目と23行目にも同じ内容が。
21行目と24行目も同じですし、20行目と25行目も…。

Qの違い

現在jQueryを使ったプログラムをしていて、気になった点があったので質問させていただきました。

具体的には
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" charset="utf-8"/>
<script type="text/javascript">
function show() {
}
</script>

こんなソースを書いていましたが、showメソッドが認識されていませんでした。

そこで
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" charset="utf-8"></script>
とかくと、後ろのメソッドも認識されました。

ここで疑問なのは</>と</script>の違いです。
この2つは何がちがうのでしょうか?

現在jQueryを使ったプログラムをしていて、気になった点があったので質問させていただきました。

具体的には
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" charset="utf-8"/>
<script type="text/javascript">
function show() {
}
</script>

こんなソースを書いていましたが、showメソッドが認識されていませんでした。

そこで
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1...続きを読む

Aベストアンサー

https://www.google.com/search?q=HTML+%E7%A9%BA%E8%A6%81%E7%B4%A0
違いっていうか。
<hoge />って書いていいのは「何もはさまないタグ」だけ。<img><link><br>…
<script>は、確かにsrc属性を設定すれば何もはさまなくはなりますが、「はさまないタグ」ではないから「/>」で終わることはできない。<img /> を<img></img>にすることはできるが逆はできません。

試してないから分からないが、質問文の記述では最初の間違ったタグが開始タグとして認識され以降3行がスクリプトとして認識され、結果文法エラーとなっているのでは。というか、その書き方でほかの部分のソースの解釈に影響出てないんですか?

Q

<input type="hidden" name = "hoge">があったとします。
これを、javascriptを使用し nameで検索します。
”hoge”を検索後、その”hoge”という名前を変更する方法を探しています。 

<input type="hidden" name = "hoge">
       ↓↓↓↓↓
<input type="hidden" name = "fuga"> 

リフレッシュ無しで、上記のようにnameを変える方法が知りたいです。

ご存知の方おりましたら、お手数ですが教えていただけませんでしょうか。
宜しくお願いいたします。

Aベストアンサー

タグが特定出来れば、setAttribute等で属性値を変更出来ます。
setAttribute("name","fuga")

Qで、Q1に後で値を設定して表示するには

お世話になります。
<input type="text" name="Q1">で、Q1に後で値を設定して表示するにはどうしたら良いものでしょうか。
name="Q1"
と、しているので、
onMousedown="function()"
で、nameでしてしたエリアに値を書き込めば、できると思うのですが、
このfunction()をどのように書いたらよいものか、いろいろ調べてもわかりません。
何とかご教示願えないでしょうか。
よろしくお願いします。

Aベストアンサー

javascriptを利用することで出来ます。
こんな感じで動くでしょう。
ちなみにテキストボックスなどをjavascriptで操作する場合は
idをつけておくと便利です。

これ以上をやりたいというのであれば
参考URLなど見て勉強してみてください
<html>
<head>

</head>
<body>

<input type="text" id="Q1" name="Q1" onmousedown="hoge()">
</body>
<script type='text/javascript'>
function hoge()
{
Q1.value = ""; //""のなかに設定する値
}
</script>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javasc21.htm

Q
勘でいれたら・・・

はじめまして。JavaScript初めてです。
わからないことがあるので、教えてください。

画面を左右にフレームで分割して、左フレームのリストボックスから要素を選択すると、その要素に該当した表が右フレームに表示される、というものを作成しました。
左フレーム:name = index
右フレーム:name = main
こんな感じ(左フレーム)↓
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function disp(obj){
右フレームの表のHTML作成をしている

parent.main.document.open();
parent.main.document.write
(desc.innerHtml = 上で作成したHTML);
parent.main.document.close();
}
-->
</SCRIPT>
</HEAD>
<BODY onload="disp(form)">
※<DIV id="desc"></DIV>
<FORM name="form">
<SELECT name="MListBox" onchange="disp(form)">
<xsl: apply-templates select="~"/>
</SELECT>
</FORM>
*<DIV id="desc"></DIV>
</BODY>
</HTML>
  ・
  ・ <xsl文章>
  ・

初めは、※←のところがなく、右と左のフレーム両方に表が出力されてしまっていました。でも※←のところに<DIV id="desc"></DIV>を勘で入れたとたん、右フレームだけに表が出力されるようになりました。(期待の結果)
自分の予想では、*←のところのみで期待の結果が得られる予定で、(disp()でHTMLの出力を右フレームに指定しているから)何故※のところを追加したことで期待通りの動きをしたのかが謎です。

わかりづらい説明で申し訳ないですが、教えてくださる方がいらっしゃいましたら、どうぞお願いします。

はじめまして。JavaScript初めてです。
わからないことがあるので、教えてください。

画面を左右にフレームで分割して、左フレームのリストボックスから要素を選択すると、その要素に該当した表が右フレームに表示される、というものを作成しました。
左フレーム:name = index
右フレーム:name = main
こんな感じ(左フレーム)↓
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function disp(obj){
右フレームの表のHTML作成をしている

parent.main.document.open();
parent....続きを読む

Aベストアンサー

質問文にあるソースで目指しているものがいまいち掴み切れていないかも知れないので、見当違いなことを書くかもしれませんが…

<DIV id="desc"></DIV>

を複数記述する事で意図した結果になったということですが、それはおそらく記述エラーが元でそうなっているのだと思います。
id名は、各HTML文書内で固有の名前を与える属性として扱われます。 平たく言えば、一つのHTMLファイル内で、一つの要素に与えたid名はその一回しか使えません。 ですので、特定の要素で既に使われているid名を、それとは別の要素に対して与える事が許されていません。
ご質問文のソースの場合、一つのHTML文書内で同じid名が複数の要素に与えられる事になり、一つの特定の要素を絞り込むことができなくなっています。 おそらくは、JavaScriptが特定のid名を持つ一つの要素を取り出そうとし、同じid名を持つ要素が複数あるために特定の要素を識別するのに失敗したせいで、左のフレームに表示されるはずのスクリプトで生成したHTMLソースが、表示先を見失って表示されなくなっているだけだと思われます。(なぜエラーメッセージが出ないのかについては、IEの動作上の問題と言う事になるのではないでしょうか)
試しに、※の部分の<DIV id="desc"></DIV>を残して、*の部分の<DIV id="desc"></DIV>を消し、動作させてみてください。 それで元のように右フレームにだけ表示させたかったHTMLが左フレームにも表示されるようでしたら、一見期待通りの動きになった原因は、上記のように同じid名を複数の要素に与えたという記述ミスと、それから生じたスクリプトの動作不良と言う事になると思います。

ソース的にスマートに目的の動作を確保するのであれば、<DIV id="desc"></DIV>を複数記述するのではなく、スクリプト内の

parent.main.document.open();
parent.main.document.write(desc.innerHtml = 上で作成したHTML);
parent.main.document.close();

この部分の記述を

parent.main.document.open();
parent.main.document.write(上で作成したHTML);
parent.main.document.close();

に直すのが良いと思います。
フレームmainにだけ、スクリプトで生成したHTMLを表示するということが狙いだったのであれば、それまで意図通りの動作をしなかったのは、parent.main.document.write()の中で、「desc.innerHTML =」という記述をしているために、「上で生成したHTML」を、右フレーム内に書き出すのと同時に、descというidを持つ要素(*の<DIV id="desc"></DIV>)の中のHTMLソースとして再定義していたためと思われます。
スクリプトを上のように修正すれば、HTMLソースの書式違反による動作不良ではなく、スクリプトの正常な動作で、右フレームにだけスクリプトで生成したHTMLソースを表示させるという結果を得られると思います。

参考になれば。 見当違いでしたら、ごめんなさい。

質問文にあるソースで目指しているものがいまいち掴み切れていないかも知れないので、見当違いなことを書くかもしれませんが…

<DIV id="desc"></DIV>

を複数記述する事で意図した結果になったということですが、それはおそらく記述エラーが元でそうなっているのだと思います。
id名は、各HTML文書内で固有の名前を与える属性として扱われます。 平たく言えば、一つのHTMLファイル内で、一つの要素に与えたid名はその一回しか使えません。 ですので、特定の要素で既に使われているid名を、それとは別の要素...続きを読む


人気Q&Aランキング

おすすめ情報