• 締切済み

ジャバスクリプトに関して教えてください。

ジャバスクリプトで質問です。 表A 商品番号  商品名 C001    りんご A003    みかん B015    スイカ 上記をHTMLで表にした際に一番左の商品番号の値を取ってきて基本と成るURL http//kihon/url/ の最後に商品番号をつけてURLとしてウィンドウを開いていく事って可能でしょうか? http//kihon/url/C001 http//kihon/url/A003 http//kihon/url/B015 これらのウィンドウを別ウィンドウで出したいです。 更に同一ページ内でジャバスクリプトを組み込む事ができなくて、できればフォーム分けしたページでの取得と、別ウィンドウで開くと言う形でしたいのですが… まだまだ勉強中でこの値をとってくること、更にその複数のデーターをひとつずつに分けて開くと言うやり方がわかりません。 どなたが教えていただけませんでしょうか? ジャバスクリプトに関しては本当に基本的なことの一部くらいしかわかりません… 質問の仕方が悪くて大変申し訳ないです。

みんなの回答

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.4

その表に、id とか、class とか、識別できるようなものはついてますか、 ないとすると、ごり押しになりそうですね。 ちなみに、同一ドメインのページじゃないと JS ではセキュリティ上取得できない事になっているので、その場合は サーバー側を使用するか、あきらめてください。

20090503q
質問者

補足

識別は無くて <td>C001</td> <td><a href="http//kihon/url/C001">りんご</a></td> と言った感じです。 innerTextを使って<td>C001</td>間の値をとってURLにくっつけようとしてるのですが… 良く判らなくて… ジャバスクリプトで実行って難しいのでしょうか?

回答No.3

#01のものです。たびたびすみません。 #02の方がお答えくださっているように元のテーブルのページにaddEventListenerを定義する方法ならテーブル部分は変更しなくても大丈夫です。ただ、addEventListenerはIEだと使えないので、ちょっと困りものです。 質問者さんの質問から推測するに、テーブルのページはテーブルに限らず、全く変更できないのかな?と思ったので、以下のような方法はどうでしょうか?かなり回りくどいですが、JavaScriptのみを用いて、なおかつ親ページ(テーブルのページ)にJavaScriptを記述しないなら、この方法ぐらいしか、私は思いつきませんでした。 【方法】 親ページはそのままでいいです。 商品番号には<a href="http://kihon/url/C001">C001</a>という風になっているということでよろしいですね。 あとは子ページにあたるhttp://kihon/url/C001のページに次のようなスクリプトを入れてやればいいです。 <script type="text/javascript" language="javascript"> <!-- if(document.referrer == "http://kihon/url/"){   window.open("http://kihon/url/C001");   location.href = "http://kihon/url/"; } //--> </script> つまり、親ページから子ページを開き(この時点では子ページは旧ウインドウで開いている)、子ページで、新しく子ページを新ウインドウで開きます(この時点では新旧の両方のウインドウで子ページを開いている)。そのあと旧ウインドウでは親ページを開きます。 これを実行すると、旧ウインドウでは親ページが開き、新ウインドウでは子ページが開き、なおかつ画面には新ウインドウが表示されるはずです。ちなみにdocument.referrerはPHPなどのREFERERとはなぜかスペルが違いreferrerとなぜかrが1個多いので気をつけてください。 りファラーで条件判定をしないと、新しいウインドウが際限なく出てきてしまうので気をつけてくださいね。

20090503q
質問者

補足

本当に説明が悪くてすみません。 正確に言うと元のページも子ページもいじれない状態です。 イメージとしては外部ページって考えて頂けたらうれしいです。 そのデータのあるリンク先が先の記述どおりに “urlの後ろの商品番号” のurlになるので 先の方法でジャバスクリプトのみで出来ないかと試してみたのですが… firstChild.innerText このような形でノードを取ってきて文字列のみを取得と言うのは無理なんでしょうか? 本当に基本が出来てないので… 厳密に言うと元も子ページも触れないものをリンクをこっちで組み替えてたい、。 元ページの方から情報を取得して子ページの複数のurlを生成それらを一括でウィンドウとして出したいと言う考えなんです。 さらにジャバスクリプトに詳しくなりたいとおもい考えていました。 こういったことってジャバスクリプトだけではやはり不可能なんでしょうか?

回答No.2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>TEST</title> <table> <tr> <th>商品番号</th> <th>商品名</th> </tr> <tr> <td>C001</td> <td>りんご</td> </tr> <tr> <td>A003</td> <td>みかん</td> </tr> <tr> <td>B015</td> <td>スイカ</td> </tr> </table> <script type="text/javascript"> //@cc_on document./*@if(1) attachEvent('on'+ @else@*/ addEventListener (/*@end@*/  'click', function (evt) {   var e = evt./*@if(1) srcElement @else@*/ target /*@end@*/;   if ('TD' === e.nodeName && 0 === e.cellIndex) {    window.open('http://kihon/url/' + e.firstChild.nodeValue);   }  }, false); </script>

20090503q
質問者

補足

すみません…この元のページは変更が出来ない別ページなんです。 ジャバスクリプトでドキュメントの情報を取得して、その取得からURLに変換してウィンドウオープンさせたかったのです… 折角答えた頂いたのに申し訳ありません。 もし上記の方法で可能なら教えていただけませんか?

回答No.1

質問の意味を確認させていただきたいのですが、つまり http://kihon/url/index.html というファイルがあって、そのファイルにJavaScriptを記述せず、べつのページにJavaScriptを記述して、フォームから値を取得したいということでよろしいでしょうか? 単にJavaScriptをJSファイルとして別に作って、それをリンクして使うというだけなら可能ですが、もしそういうことではなく、JavaScriptを完全に使っていないページからの情報を別ページのJavaScriptで受けることはCGI(PerlやPHPなど)を使わない限りはできません。ですので、この場合ではなく、上のindex.htmlにJavaScriptを記述した場合のやり方を書きます。 まず、りんごなどの商品名に<a>タグでリンクをはり、hrefでJavaScriptの関数名を指定します。関数の引数には商品番号を入れてください。 (例)<a href="javascript:idou('C001')">りんご</a> 次に関数の定義です。 新しいページを開くのはwindow.open("ページのURL")です。ですから、次のように書いてやればいいです。 function idou(code){   window.open('http://kihon/url/'+code+'/'); } あとは http://kihon/url/C001/index.html などのページが用意してあれば、無事にページを開けるはずです。

20090503q
質問者

補足

回答有難うございます。 もしこの商品番号の所が <a href="http//kihon/url/C001">C001</a> と言った表である場合は。そのURLから情報を取得して開くとのはジャバスクリプトでは無理でしょうか? 因みにこの最初の表のページはまったくいじれないのです。 firstchild でノードを取るというのも不可能でしょうか? 付け焼けばの知識ばかりなので… ご返答よろしくお願いします。

関連するQ&A

  • ジャバスクリプトに関して質問です!

    テキストエリアに 123456 654321 123654 などのランダムな商品番号を入力して ジャバスクリプトでこれらの商品番号をひとつずつ http://kihon.ur の基本URLの後ろにつけて http://kihon.ur123456 http://kihon.ur654321 http://kihon.ur123654 と言う風にURLを生成して widow.openで開いていく事って可能ですしょうか? 単一の商品番号でならすぐに出来たのですが 複数のものを同時に開くと言うやり方が良く判りません… まだ基礎的なことも不十分なんですが色々作りつつ勉強しています。 よろしくお願いします。

  • Java Scriptなんでできないんですか?

    Java Scriptで自動ジャンプで別ウインドウに出したいのですができません。 只今下記でやってるんですけど、これだと、親ページまでどっかに飛ぼうとするので、すごく困っています。助けてください。 <SCRIPT LANGUAGE="JavaScript"> <!-- function autoLink(){ location.href=window.open"リンク先"; } setTimeout("autoLink()",3000);// --> </SCRIPT>

  • ジャバスクリプトについて

    どなたか教えてください。 同一ページ内での掛け算、割り算等のスクリプトの書き方は解りましたが、 例えばAページのある数字をクリックして、Bページのフォームに表示させ、 さらにその数字をあらためて同ページで計算させる、という方法の書き方 がわかりません。 簡単にいえば色々な会社の見積もり計算のようなものなのですが、別ページ にデータを表示させるには、ということです。 まだ初心者ですのでできるだけわかり易く、或いはそういうことを教えて いただけるサイトのURLだけでも結構です。 よろしくお願い致します。

  • Javaの出力とシェルスクリプトの書き方

    Javaとシェルスクリプト初心者です. macをしようしています. ちょっと混乱しているのでわかりにくいしつもんかもしれませんが, よろしくおねがいします. Javaでテキストファイルから a,b,c (それぞれ整数) のような形でコンソールに出力するようなプログラムを書いたのですが, これを99個のファイル(01.txt ~ 99.txt)に適用して, 1,a1,b1,c1 2,a2,b2,c2 . . 99,a99,b99,c99 という形のテキストファイルを出力するような シェルスクリプトを書きたいのですが, どのようにすればよいでしょうか. Javaかどうかはこの際関係ないかもしれないのですが, とりあえず,Javaの出力を多くのファイルに適用して, ひとまとめにしたテキストファイルを作りたい,という意図です.

    • ベストアンサー
    • Java
  • JAVAスクリプトについて

    JAVAスクリプトで作られたこのページなんですが↓ http://www.arch-holesale.co.jp/faq/faq.html 下の方のQボタンを押したらJAVAスクリプトで別メニューが出てきます このシステムを自分のHPに使いたいです。 どうすればいいでしょうか?

  • java scriptでの計算式はどこまで可能ですか

     お尋ねします。 ホームページでの見積もりフォームを作るに当り、excelをアップしても機能しないことはわかりましたが、 java scriptで簡単な電卓程度の計算式が可能ということを知りました。次の計算式はexcelでの計算式なのですが、 これをjava scriptでつくることは可能でしょうか。 ((((A+350)/B)+0.999)*C)/1000  ABCは各フォームになっています。 よろしくお願いいたします。

  • java-scriptでフレームを操作したい

    いつもお世話になっております。 java-scriptを使って フレームでないhtmlページから フレームを使ったhtmlページを開いて フレームのひとつ、またはそれぞれに 別のhtmlを開こうとして悪戦苦闘中です。 index.html(フレーム使用)のひとつ下に フォルダAがあり、aaa.html というページがあったとして このページからjava-scriptを使い、index.html を開き index.htmlのひとつ下にあるフォルダBのbbb.htmlを index.htmlのフレームのひとつに開きたいのです。 webを彷徨い、先輩諸氏の書いたスクリプトを参考にしましたが 目的を達成できずに困っております。 どなたか助けていただけないでしょうか。 よろしくお願いいたします。

  • Java Script で別ウィンドウを開く

    Java Script で別ウィンドウを開く仕組みの中で、親ページの中でいくつかリンクをクリックして複数のページを見るときに、はじめに開いた別ウィンドウのなかで表示サイトが切り替わっていくソースを教えてください。(クリックのたびにウィンドウが開かないようにする。という意味です。)

  • Java Scriptで「ページを開いたとき小さなウィンドウを開いて動かす」

    Java Scriptで「ページを開いたとき小さなウィンドウを開いて動かす」にはどうしたらいいでしょうか? できたらソースを教えて下さい。

  • Java Scriptで範囲を指定するには?

    http://yukiyonihitori.blog5.fc2.com/?tag=%A5%D6%A5%ED%A5%B0%A4%CB%C0%B1%A4%F2%B9%DF%A4%E9%A4%BB%A4%EB こちらのブログを参考にして、ページに☆を降らせたいのですが、 範囲をdiv#wrapperというdiv要素内に限定したい場合は どこに、どのように記述すればよいのでしょうか…。 Java Scriptは詳しくないのですが、 仕事で必要になりとても困っています。 どなたか助けてください。

専門家に質問してみよう