2012-05-13 6 views
-2

Я хотел бы назвать функцию php в javascript. У меня есть одно решение, которое действительно работает, но не так, как хотелось бы.Использование php-функции в javascript

код:

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

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

Это работает, когда я нажимаю на ссылку, но я не могу назвать Funciton другим способом, просто нажав на ссылку. Так что я хотел бы, чтобы вызвать функцию просто методом test()

+1

Вам необходимо изучить AJAX. – SLaks

+2

Надеюсь, вы знаете, что часть PHP выполняется на сервере, прежде чем она будет отправлена ​​в браузер и выполняется JavaScript. Вы можете просто написать 'document.getElementById (« php_code »). InnerHTML = 'something';' в вашем JavaScript, так как это то, что получает браузер. Что касается 'test': вы можете звонить в любом месте только с помощью' test(); '. –

+3

Выполняется JavaScript на клиенте, PHP запускается на сервере. Вы не можете вызвать функцию php из JavaScript. – zzzzBov

ответ

0

узнать AJAX (асинхронный Javascript и Xml), поскольку javascript выполняется ПОСЛЕ PHP. С помощью AJAX вы можете без обновления страницы отправить запрос на сервер, а сервер вернет некоторую строку, которую вы можете использовать на своей странице. (Отправляя некоторые параметры с запросом, вы можете выполнить функцию test() (если вы преобразуете его в PHP) с помощью простого оператора if.)

+0

Это должен быть комментарий. Или еще, дайте хорошее объяснение, почему это невозможно, как вы можете использовать другой путь, возможно, с ресурсом (собственный пример) или резюме. – itachi

+0

см. Редактирование. @itachi – 11684

0

PHP выполнен на серверах (он отвечает за отображение страницы для браузер), в то время как Javascript будет выполняться клиентами (после того, как страница была доставлена ​​в браузер).

Таким образом, единственный способ, которым вы могли бы передавать значения между ними, является одним из ваших решений. Вызовы между ними невозможны.

0

То, что вы пытаетесь сделать, невозможно.

PHP - это серверный код, а Javascript - клиентский. Единственный метод выполнения PHP-скрипта из javascript-вызова - через AJAX. Существует очень простой учебник, позволяющий вам работать с AJAX на w3schools.

w3schools Ajax Tutorial

+1

http://w3fools.com – 11684

Смежные вопросы