• 締切済み

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

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

みんなの回答

回答No.2

※別サイトのHTMLを取得する 部分はできてますね。 残された課題は ※取得したHTMLの解析方法 という事ですね? jQueryを使用しないで解析を行うのであれば、取得した文字列をXMLとして扱うかHTMLとして扱うかなどで、いくつか手法があると思います。 ・getElementById ・getElementsByName という命令は見たことがありますよね? これを利用できるように「DOMParser」を利用する例を書いておきます。 変更箇所は function sorceget() 内部に // 処理追加開始 // 処理追加終了 で囲まれた部分の追記です。 function sorceget() { if (request.readyState == 4 && request.status == 200) { document.form1.sorce.value = request.responseText; // 処理追加開始 var dom_parser = new DOMParser(); document_obj = dom_parser.parseFromString(document.form1.sorce.value, "text/html"); alert("取得結果は[" + document_obj.getElementsByName("_abc")[0].value + "]"); // 処理追加終了 } }

参考URL:
https://developer.mozilla.org/ja/docs/Web/API/DOMParser
  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

直接の回答になりませんが、前提を整えることをおすすめします。 まず、目的はなんですか? その目的次第でテキストの適切な保存場所は変わります。 極端な言い方をすると、別ファイルである必要があるのか、ということです。 何のために外部読み込みをしたいかをまずまとめてみてはどうでしょう。 次に、jQueryは多言語ではありません。 jQueryもjavascriptで書かれていますし実行もjavascriptで行います。 専門用語を使うとわかりづらくなるので、例えで表現しますが、javascriptを使いやすくするための補助ソフトみたいな位置づけです。もっとかいつまんでいうと、複数のプログラム(javascript)を1個の命令で簡単に呼び出せるようなしくみです。外部ファイルを読み込む例を下記に置きますので、どちらが簡単かを判断してみてください。何が言いたいかというと、jquery使わない説明のほうがものすごく複雑ですよということです。 外部ファイルinclude.htmlの内容をdiv#targetに読み込みます。 --- # jQueryを使う場合 $("#target").load("include.html"); --- # jQueryを使わない場合 var request = new XMLHttpRequest(); request.open('GET', 'include.html', true); request.onload = function() { document.querySelector("#target").innerHTML = request.responseText; }; request.send();

xhoriyu123
質問者

補足

お粗末な質問で申し訳ございません。 例えば、メインHTML(A)とはログイン画面のようなもので、 パスワードを入力して押下するとあるサイトにログインできます。 その際、別HTML(B)の表示されないvalue 値がパスワード になっていて常に変更されます。 よって、メイン(A)から別(B)を呼び出して下記のような value 値を取得するのに正規表現を使用するのではないかと 思いました。 別HTML(B) <input type="hidden" name="_abc" value="◯◯◯◯◯◯◯"> ご丁寧なご解答ありがとうございます。 別サイトのvalue値を取得するロジックをご教示いただけますと 助かります。

関連するQ&A