2012-04-05 2 views
0

Я новичок в php-скриптах ... Могу ли я вызвать php-функцию из тега img, используя onclick, как это?вызов функции php из изображения onclick?

<img src="3.png" onclick="myfunction();" /> 

Я попытался это:

<a href="vote.php"><img src="3.png" /></a> 

, но он не работает. Я не хочу идти на страницу vote.php. Есть идеи ?

+1

No. Посмотрите на AJAX. –

+0

Возможный дубликат [как вызвать функцию php при нажатии кнопки] (http://stackoverflow.com/questions/5403736/how-to-call-a-php-function-on-button-click) и (еще лучше) [Функции Javascript и PHP] (http://stackoverflow.com/questions/221396/javascript-and-php-functions) ... используйте поиск, прежде чем задавать новый вопрос. –

ответ

2

Я думаю, вам нужно вернуться к некоторым базовым понятиям. PHP - это серверный язык, он интерпретируется на сервере и отображается как html на стороне клиента.
Javascript с другой стороны интерпретирован браузером и использует его в этом случае. onclick - событие js.

+0

s/revise/review – Kristian

1

Сортировка. В вашем событии onclick должен быть вызов ajax внутри того, который загружает php-файл. Тогда все, что было бы напечатано/опубликовано в файле php, будет в ответе ajax.

function myFunction() { 
    $.ajax({ 
     url: 'vote.php', 
     data: { 
     vote: 1, 
     id: 3 
     }, 
     success: function(response) { 
     //do whatever with the response 
     } 
} 

Если вы используете JQuery (или MooTools) для вызова Ajax, это будет проще, чем обычный запрос яваскрипта АЯКС. jquery используется выше.

Документация: http://api.jquery.com/jQuery.ajax/

0

Другой вариант, который не требует каких-либо Javascript должен добавить IFRAME и отправить запрос голосов там

<a href="vote.php" target="voteframe"><img src="3.png" /></a> 

<iframe id="voteframe" style="/*display:none*/" /> 
+0

О, мужчина, это возвращает воспоминания. Лично я бы рекомендовал AJAX-вызов с полным резервным доступом (который должен иметь все вызовы AJAX), поскольку этот метод даст вам возможность правильно уведомлять пользователя, не взламывая iframe. Но это решение * работает, и я должен сказать, что использовал его в прошлом (в начале 2000-х годов). – 0b10011

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