2012-05-13 14 views
-2

javascriptでphp関数を呼び出したいと思います。私は1つのソリューションを持っていますが、それは実際には機能しますが、私が望む方法ではありません。javascriptでPHP関数を使用する

コード:

function test(){ 
    document.getElementById("php_code").innerHTML="<?php 
    print 'something'; 
    ?>"; 
} 

... 
<a href="#" onclick="test(); return false;"> test </a> 

それは私がリンクをクリックしたときに動作しますが、私はただのリンクをクリックすることで、他の方法でfuncitonを呼び出すことはできません。 それでは、test()で関数を呼び出すだけです。

+1

あなたはAJAXを学ぶ必要があります。 – SLaks

+2

ブラウザに送信されてJavaScriptが実行される前に、PHP部分がサーバー上で実行されていることをご存じでしょうか。ブラウザではdocument.getElementById( "php_code")。innerHTML = 'something'; 'をJavaScriptに書くだけです。 'test'について:' test(); 'だけでどこでも呼び出すことができます。 –

+3

JavaScriptはクライアント上で実行され、PHPはサーバ上で実行されます。 JavaScriptからphp関数を呼び出すことはできません。 – zzzzBov

答えて

0

JavaScriptがJavaScriptの後に実行されるので、AJAX(非同期JavascriptとXml)を学んでください。 AJAXを使用すると、ページをリフレッシュせずにサーバーにリクエストを送信できます。サーバーは文字列を返します。これをページで使用できます。 (要求に応じていくつかのパラメータを送ることで、if文を使ってtest()関数を実行することができます)。

+0

これは実際にはコメントでなければなりません。あるいは、なぜそれが不可能であるか、おそらくリソース(自分の例)や要約を使って、別のパスを使うことができるか、良い説明を与えてください。 – itachi

+0

編集を参照してください。 @itachi – 11684

0

PHPはサーバサイドで実行されます。ブラウザ)、その間Javascriptはクライアント側(ブラウザに配信された後)に実行されます。

唯一の方法だから、それらの間に値を渡すことができます。あなたの解決策の1つです。それらの間で関数を呼び出すことはできません。

0

あなたがしようとしていることはできません。

PHPはサーバー側のコードで、JavaScriptはクライアント側です。 javascript呼び出しからPHPスクリプトを実行する唯一の方法は、AJAX経由です。 w3schoolsでAJAXを使い始めるための非常に簡単なチュートリアルがあります。

w3schools Ajax Tutorial

+1

http://w3fools.com – 11684

関連する問題