2014-02-13 2 views
-1

У меня возникли проблемы с попыткой вызвать функцию с помощью кнопки html. У меня этот код:Вызов функции из кнопки html

HTML:

<input type="button" value="Do it" onClick="sv()" /> 

PHP:

function sv(){ 
$sqlqueryadd = "UPDATE general_list SET nes=2 WHERE nes=1 AND id=100"; 
$sqldoadd = mysql_query($sqlqueryadd) or die(mysql_error()); 
} 

JS:

function sv() { 
var x="<?php sv(); ?>"; 
alert(x); 
return false; 
} 

Это, очевидно, не работает, только оповещается об " св();» код.

Большое спасибо!

+3

Вы не можете выполнить php-код из javascript, так как php - это серверная сторона, а javascript - клиентская. для выполнения php-скрипта вам нужно будет сделать ajax-вызов этого скрипта php. Также обратите внимание, даже если вы смогли выполнить вызов так, как вы его используете, ваша функция php 'sv' ничего не возвращает, и вы не отгоняете ничего в' ', поэтому вы ничего не получите. –

+0

'var x =" ";' Почему бы вам это сделать – meda

+1

Имейте в виду, что PHP-код существует только в то время, когда ваша страница генерируется сервером. JS-код существует только при просмотре страницы браузерами. Если вы хотите запустить функцию с вашей кнопки, сделайте PHP сгенерированным ядром функции javascript. В этом случае, однако, вы хотите узнать о написании децидированного php-скрипта, который действует как API, чтобы вы могли выполнять аякс-запросы на нем и получать поток данных между вашей страницей, поскольку он просматривается на чужом компьютере, а ваш сервер , –

ответ

0

onClick атрибут выполнять только код javascript. Из JS вы не можете выполнять какие-либо функции PHP. Вам нужно отправить запрос на сервер, обработать их с помощью PHP и вернуть результат. Или просто попробуйте отправить HTML форму с кнопкой представить в виде:

<input type="submit" name="sv" value="Do it" /> 

и обрабатывать эти данные формы с PHP

1

РНР не может работать, как это. Он запускается при запуске. Вам нужно будет сделать PHP на отдельной странице и AJAX.

Так что используйте что-то вроде

function sv() { 
$.ajax({ 
     url: "sv.php", 
     }).done(function(data) { 
     alert(data); 
     }); 
return false; 
} 
+0

Это не сработало :(Я изменил URL-адрес. ./php/sv.php (у меня есть js в папке «js»), а код в php: TakuyaMK

0

это будет делать трюк

<input type="button" value="Do it" onClick="javascript:sv()" />

вставки "JavaScript:" перед вызовом функции.

затем вызвать PHP скрипт с этим:

$.post("sv.php", { var1: var1Val, var2: var2Val}, function(result) { 
    // do something with the data php echo's back 
}); 

приведенный выше код использует JQuery.

+0

я должен добавить любую переменную для запроса тузд Могу ли я пропустить что – TakuyaMK

+0

Если вы хотите передать переменные? из javascript в скрипт PHP просто измените «var1», «var2» и т. д. на пары «имя: значение», которые будут отправлены в скрипт. В вашем скрипте PHP вы получите доступ к ним через $ _POST ['var1'], $ _POST [ 'var2']. – vero

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