2012-04-06 7 views
1

私のウェブページでは、ユーザーはドロップダウンリストから項目を選択でき、表があります。 Javascriptは、javascriptによって作成された新しいテーブル行に、各ドロップダウンリスト項目(さらに、javascriptがXMLファイルから取得する追加情報)を出力します。PHPはどのように現在のドキュメントを参照していますか?

ディスクにテーブル情報を書きたいと思っています。 Javascriptを使用していた場合は、document.getElementByID( "table")を使用してノードを解析し、その情報を変数に書き込んでいます。しかし、私が見つけたドキュメンテーションのほとんどは、Javascriptはディスクへの書き込みには使用されないという。だから、私はPHPを使うべきだと思う。

のJavascriptの「文書」オブジェクトのPHPの同等とは何ですか? Javascriptでは、新しいオブジェクトを定義する必要はありません。いつでも 'ドキュメント'を使用できます。 私はPHPで私は新しいDOMDocumentを使用する必要があると思います。 htmlを読み込みます。

はPHPの例のほとんどは、loadHTML(文字列)メソッドおよびloadHTMLFileを()を示し; タグ内に書き込む文字列からHTMLを読み込みたくありません。 そして、元のファイルであり、Javascriptがドロップダウンメニューからの選択に基づいてユーザーのファイルを変更したため、.htmファイルからHTMLをロードしたくありません。

phpを使って現在のドキュメントの要素にアクセスしたいと思います。 したがって、PHPはどのように現在のドキュメントを参照していますか?

私が働いているページには、メインファイルのhttp://music.collwyncraig.info/hajimama/setlist.htm

+4

PHPは*ブラウザでは実行されません。 Webサーバやスタンドアロンのプログラムとして動作することがよくあります。一部のPHPプログラムがWebページを取得できる場合、それを解析してディスクに書き込むことができますが、これはブラウザ内での実行とは関係ありません。 – wallyk

+0

私はそれを理解し始めていると思います。では、ブラウザで実行中のページ(HTML DOM)から情報を取得してサーバーに送信し、サーバー上のファイルに保存できるようにするにはどうすればよいですか? – collwyn

答えて

1

を試してみたいことがあります。プログラミング言語同士の相互作用の仕方があります。

  • PHPはプリプロセッサであると生成 - これまで何uがしたい - 通常はHTMLやJavaScript、CSS、および何を含む...
  • javascriptのは、Ajaxによって生成されたHTMLドキュメントや呼び出しで対話する動的言語でありますHTMLやJavaScript、CSSまたは何
  • とhtmlを必要とされているを提供する他のサービス - それは、CSSでスタイルジャバスクリプトによって表示され、実行時に変更することができ、ドキュメントオブジェクト、などである...

だからあなたの文書のJavaScript関数を呼び出すとき - 基本的なPHPはすでにその仕事をしています。

の代わりに画面に直接PHPから生成されたすべての内容を印刷するには、VARで最初にそれを保存することができます。例えば

:あなたのファイルの

print "myContent"; // and it is shown on the screen 

または

$myFile = "testFile.html"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 
$myContent = "<html><head>...</head><body><h1>Whatever...</h1></body>"; 
fwrite($fh, $myContent); 
$myContent = "Whatever2"; 
fwrite($fh, $myContent); 
fclose($fh); 

ので内容:

$myContent = "<html><head>...</head><body><h1>Whatever...</h1></body>"; 

ようにあなたは、画面上にそれを印刷するには、次の操作を行うことができます

<html><head>...</head><body><h1>Whatever...</h1></body>Whatever2 

この生成されたドキュメントは、loadHTMLによって呼び出されたり、どちらの方法で使用されても になります。

これはちょうどあなたが思うことができるヒントと同じように - ソリューションの方法は非常に多岐にわたるので、本当に必要なものについてもっと知ることなく、適切な解決策を述べるのは簡単ではありません。

+0

ありがとうございます。現在、ユーザは、ドロップダウンメニューから項目を選択することによって、自分のウェブページ上に表を構築することができる。 Javascriptは、ドロップダウンメニューからの選択に基づいてこのテーブルを構築します。ユーザーがクリックして作成したテーブルをファイルに保存できるボタンが必要です。 ブラウザの現在のページのDOMにアクセスし、それをサーバーに戻してファイルに書き込む必要があります。右? JavaScriptを使用してブラウザの現在のページのDOMにアクセスできます。私はPHPを使って何かをサーバー上のファイルに書き込むことができます。私はこれらの2つの動作をどのように接続するのか分かりません。 – collwyn

+0

サーバーに保存しますか?うーん、もしあなたがドキュメントにアクセスできるなら、上記のようにそれを格納するパラメータによってPHPファイルにその内容を送ってください。 $ mycontent = $ _POST ['theDocument'] - ajaxによってjavascriptによって呼び出すことができます。 –

0

$_SERVER['SCRIPT_NAME']です。これが呼ばれたファイルへのフルパスの

または

__FILE__。 html出力は通常、あなたの選択または手動でのいくつかのテンプレートエンジンを介して生成される -

PHPは、任意の組み込みjQueryのようなDOMマニピュレータはありません。 あなたはjQueryのようなDOM操作をしたい場合は、私は建築についてのあなたの考えは間違っていると思うPHPQuery

http://code.google.com/p/phpquery/

関連する問題