• ベストアンサー

HTMLファイル同士での値渡し

困っています。 HTMLファイルからHTMLファイルへ移動するときに、 HTMLファイル1でJavaScript で算出された値を HTMLファイル2へ渡して使用したいのです。 showModalDialogだとダイアログにしか渡せないし・・・。 このように、値をそのまま次のページに渡すための方法を教えてください。 お願いします。

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.3

すみません。うっかりしてました。 document.write(FORM[v1]); では、v1を変数と認識してしまうので、エラーになってしまいますね。 document.write(FORM.v1);  // 「FORM.v1」です あるいは document.write(FORM["v1"]); としてください。

LEGO321
質問者

お礼

出来ました!うれしーーーです。 v1 の値はこのソースで代入しないからどこから 値が代入されるんだろう??と考えつつも いろいろ試してもエラーがでてしまうので document.write(unescape(pair[1].replace("+"," ")); で無理矢理値を出そうとしてしまいました。 でも教えられた通りに直したらすんなり表示されました。 文法の意味をよく考えて勉強していこうと思います。 助かりました。ありがとうございます。

その他の回答 (2)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

JavaScriptで、パラメータをパースすればOKです。 ■h1.html ○JavaScriptで算出した値を、フォームに用意したhiddenにセットし、GET渡しします。 <body> <form name="h1" action="h2.html" method="get"> <input type="hidden" name="v1" value=""> <input type="button" name="b1" value="自動算出" onClick="document.h1.v1.value='ABCDE';"> <br> <input type="submit" value="送信"> </form> </body> ■h2.html ○<head></head>内で、URLに付加されたパラメータをパースし、配列FORMにセットします。 <head> <script><!-- var FORM = new Array(); parse(); function parse() {   // 関数にしなくてもいいのですが、一応   var buffer = location.search.substr(1);   var pairs = buffer.split("&");   for (var i in pairs) {     var pair = pairs[i].split("=");     FORM[pair[0]] = unescape(pair[1].replace("+", " "));   } } //--></script> </head> ○<body></body>内の値が必要なところで、document.write()を使います。 h1.htmlから受け取った値は、 <script><!-- document.write(FORM[v1]); //--></script> です。 # 日本語を送信する場合、受け取り側でコード変換を行う必要があります。 # コードを見やすくするため、全角スペースを入れている所があります。コピペする場合、注意してください。

LEGO321
質問者

補足

ありがとうございました! できれば hidden を使って値渡しをしたかったので、 このような方法がわかって嬉しいです。 ただ、h2.html の document.write(FORM[v1]); の部分でエラーがでてしまい、表示されません。 試しに上のソースをそのままコピーペーストして実行したのですが 同じでした。 以前見た記事で、 location.search はローカルでは認識しない、と いうものを見たのですが関係あるのでしょうか・・・?

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

可能ならサーバーサイドスクリプト(Perl, PHP, ASP, JSP等)を利用した方が良いんですけどね(^^;; HTML+JavaScriptなら、好ましくはありませんが Cookieを利用するというのはどうでしょう? ・・というか、これしか思いつきませんでした。 具体的には ■ HTMLファイル1 JavaScriptで計算した値をCookieに保存 ↓ ■ HTMLファイル2 Cookieから値を取得して、Cookieを削除 HTMLファイル1から2以外のページに移動した場合 直接HTMLファイル2にアクセスした場合 Cookieをオフにしている場合 JavaScriptをオフにしている場合 Cookieの有効期限の設定値 など色々問題はあるかと思いますが、 このような方法もあるという参考までに

LEGO321
質問者

お礼

ありがとうございました。 Cookieを使う、というのは考えていませんでした。 試しに途中までサンプルを作っていたら、 「クッキーは不可です。」と言われてしまいました。 (業務として作成しています) でもこのような方法もひとつある、ということで勉強になりました。 ありがとうございます。

関連するQ&A

  • HTMLファイル1の値をpost

    HTMLファイルからHTMLファイルへ移動するときに、 HTMLファイル1の値をpostで HTMLファイル2へ渡しJavaScriptで HTMLファイル1の値を表示させたいのですがうまくできません どのようにすればいいのでしょうか?

  • HTMLファイル2へ渡しjQuery

    HTMLファイルからHTMLファイルへ移動するときに、 HTMLファイル1の値をpostで HTMLファイル2へ渡しjQueryで HTMLファイル1の値を表示させるプログラムがわかりません

  • JAVAで出力した値をHTMLで使う

    HTMLのフォームからJAVAに値を渡し、 JAVAで処理をしたものをHTMLのアプレットに 表示する方法は分かりました。 でも、アプレットでの出力だと、HTMLの JavaScriptで扱えません。 JAVAの値をHTMLのフォームなどに出力する方法が あれば教えてください。

  • window.showModalDialogのページでsubmit

    showModalDialog()で、表示したページ内で、submitを行い、 ダイアログ内のページを移動したいのですが、submitすると、新しいウインドウが立ち上がってしまいます。 ダイアログ内のページを変更する方法はないでしょうか?

  • confirm の OK、キャンセル 以外の文字を

    javascript の confirm  で、OK、キャンセル以外の文字を出す方法を探しています。 「出せません」とか、「showModalDialog を使用し自作のダイアログ」とかしか見つかりません。 JavaScript だけで、出来ないものなのでしょうか?

  • ページ移動 値渡しについて

    sea_clear_skyです。 [環境] OS Win98SE PWS [質問内容] 検索キーワードをTEXTボックスに入力するHTML(1.HTML)から、SUBMITで データベースを検索するASP(サーバスクリプトのASPファイル、1.ASP)に飛びます。 とんだ先のASPファイル(1.ASP)が、データベース検索結果を表示させます。 データベース結果ASP(1.ASP)は1ページに10件表示させます。 その際、データが10件以上ある場合は次へというボタンで次のデータを 表示させたいです。 A HREFからハイパーリンクで表示させる方法はできましたが、 ボタンで作ることができません。 ボタンの際のページ移動と値渡しがわかりません。 A HREFで作った際の Response.Write "<a href=bunkatsu.asp?nm=" & Request("nm") Response.Write "&page_num=" & Request("page_num")+1 & ">" Response.Write "次の10件&gt</a> " この部分を変更したらできると考えています。 RedirectとかWindows.Location.Href等で試しましたができませんでした。 Submitは更新処理をするために<1.ASP>で使っていますので、利用は考えていません。 ご教授願います。 。

  • 別HTMLを呼出て値を取得する方法を教えてください

    WEBプログラム初心者です。 メインのHTMLから別のHTMLを呼び出して値を取得しメインのHTMLに表示させたいです。 ■イメージ メインHTMLでボタンを押されたら(javascript ?)、 別ファイルを読み込んで(正規表現?である文字に付随する値)を取得して、 メインのHTMLのテキストエリアにセットするような感じになりますかね? どのように記述すればよろしいでしょうか? Jquery等他言語はよくわからないので、 javascriptだけで実現していただけると助かります。

  • HTMLファイルにテキストファイルをインクルードする方法。

    HTMLファイルにテキストファイルをインクルードする方法を探しております。 JavaScriptをインクルードするようにテキストファイルもインクルードできないかと考えております。 ちなみにテキストファイルの中身は「JavaScriptのインクルード」と「HTMLタグ」 などを書いております。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLファイルの管理・マネージメント

    HTMLファイルのよい管理方法をおしえてください。 現在手元に自分のHPのHTMLデータがたくさんあります(画像データはほとんどなし)。 内容は基本的にリンク集のようなもので、各ページ上には仕事や趣味に関係あるサイトのURLとその説明があるという感じです。 各ページのイメージとして ―――――――――――――――――― http://wwww.a-0000001.com/ 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 〓〓〓〓〓サイトa-0000001に関する説明 http://wwww.a-0000002.com/ 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 〓〓〓〓〓サイトa-0000002に関する説明    (以下、つづく) ―――――――――――――――――― HTMLファイルはカテゴリごとに分けてあり、現在HTMLファイルは約30あります。 全リンクは200以上あります。 1つ面倒なのは、各ページのリンク先のURLが頻繁に変わったり、後日別のカテゴリのHTMLファイルに、リンク先を移動しなければならないことがあるのですが、現在手でHTMLを1つ1つ書き換えており、ちょっと大変になってきました。 今後もリンク先は増え続けていくので、簡単にHTMLファイル上の情報を移動する方法がないか考えています。 質問は ・マウスでドラッグドロップでHTMLファイルの情報を移動したり修正するにあたり、フリーソフトもしくは安価なシェアウェアはあるでしょうか。 やはりDreamWeaverなど、メーカー制のものがあったほうが便利でしょうか。 ・ZOOPとよばれるコンテンツマネージメントソフトがあるようですが、HTMLの編集や修正まではできないのでしょうか。

    • ベストアンサー
    • HTML
  • 複数のHTMLファイルを1つのPDFファイルにするには?

    たとえばHTMLファイルが200ファイルあったとします。 これをできるだけ手間がかからない方法で、 1つのPDFファイルに変換する方法はないでしょうか? HTMLファイルにはCSSやJSを含んでいます。 少しぐらいならレイアウトは崩れても構いません。 ただしHTMLのファイル名が以下のような場合、 PDFのページがファイル名の順番と同じでなければなりません。 001.html → PDFの1ページ目 002.html → PDFの2ページ目 003.html → PDFの3ページ目 以下続く... Acrobat 6.0やDistillerを使用して変換しても 最初の1ページ目しかPDF化されません。 Acrobat 6.0の「PDFの作成→複数ファイル」も 残念ながらHTMLに対応していませんでした。 またブラウザから「Adobe PDF」を使用してPDFにするには あまりもファイル数が多すぎます。 フリーウェア、シェアウェアを使用しても構いません。 希望に添うツールがありましたらご紹介ください。 よろしくお願いいたします。 所有アプリ Windows XP Adobe Acrobat 6.0 Adobe CS RoboHelp 9.2

専門家に質問してみよう