Как вы можете использовать php в функции javascript
<html>
<?php
$num = 1;
echo $num;
?>
<input type="button"
name="lol"
value="Click to increment"
onclick="Inc()" />
<br>
<script>
function Inc()
{
<?php
$num = 2;
echo $num;
?>
}
</script>
</html>
Это то, что я до сих пор не работал, я думаю, мне нужно использовать ajax или что-то, но я понятия не имею, что делать.
Спасибо
Ответы
Ответ 1
Вы не можете запустить PHP-код с помощью Javascript. Когда пользователь получает страницу, сервер будет оценивать и запускать весь PHP-код и вынимать его. Так, например, это будет работать:
alert( <?php echo "\"Hello\""; ?> );
Потому что сервер будет оценивать это следующим образом:
alert("Hello");
Однако вы не можете выполнять с ним какие-либо операции с PHP.
Это:
function Inc()
{
<?php
$num = 2;
echo $num;
?>
}
Будет просто оценено следующее:
function Inc()
{
2
}
Если вы не хотите называть PHP script, вам придется вызывать другую страницу, которая возвращает значение из набора параметров.
Это, например, будет работать:
script.php
$num = $_POST["num"];
echo $num * 2;
Javascript (jQuery) (на другой странице):
$.post('script.php', { num: 5 }, function(result) {
alert(result);
});
Это должно предупредить 10.
Удачи!
Изменить: просто увеличение числа на странице можно легко сделать в jQuery следующим образом: http://jsfiddle.net/puVPc/
Ответ 2
Я думаю, что вы вводите код сервера с кодом клиента.
JavaScript запускается на клиенте после того, как он получил данные с сервера (например, веб-страницу).
PHP запускается на сервере перед отправкой данных.
Таким образом, существует два способа взаимодействия с JavaScript с php.
Как и выше, вы можете сгенерировать javascript с php так же, как вы создаете HTML с php.
Или вы можете использовать запрос AJAX из javascript для взаимодействия с сервером. Сервер может отвечать данными, и javascript может получить это и что-то сделать с ним.
Я бы рекомендовал вернуться к основам и узнать, как HTTP работает в отношениях между сервером и клиентом. Затем изучите концепцию серверных языков и языков на стороне клиента.
Затем возьмите учебник с ajax, и вы начнете получать концепцию.
Удачи, Google - твой друг.
Ответ 3
вы используете script в php..
<?php
$num = 1;
echo $num;
echo '<input type="button"
name="lol"
value="Click to increment"
onclick="Inc()" />
<br>
<script>
function Inc()
{';
$num = 2;
echo $num;
echo '}
</script>';
?>
Ответ 4
OK Люди могут ответить на свой вопрос, не переусердствуя, но сделав его простым, так как ваш вопрос звучал неправильно, потому что вы вставляли их туда, но они просто сидят в javascript навсегда, его не нравится, когда он собирается выбраться, потому что он hasn 't был отозван java script способ и посмотреть, насколько простым было решение: P
<?php
$num = 1;
echo $num;
echo "<input type='button' value='Click' onclick='readmore()' />";
echo "<script> function readmore() { document.write('";
$num = 2;
echo $num;
echo "'); } </script>";
?>
Ответ 5
В приведенном выше коде
присвойте значение php переменной javascript.
<html>
<?php
$num = 1;
echo $num;
?>
<input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()">
<br>
<script>
var numeric = <?php echo $num; ?>"; //assigns value of the $num to javascript var numeric
function Inc()
{
numeric = eVal(numeric) + 1;
alert("Increamented value: "+numeric);
}
</script>
</html>
Одна вещь в комбинации PHP и Javsacript - вы не можете присвоить значение JavaScript для значения PHP. Вы можете присвоить значение PHP переменной javascript.
Ответ 6
Существует способ запустить php на клиентском javascript (не говоря уже о js-сервере на стороне сервера). Не знаю, если это очень хорошая идея, но вы можете. Как указывали некоторые люди, вы должны иметь в виду, что php оценивается на сервере, а затем возвращается в качестве статического материала в браузер, который затем запускает javascript с добавленными данными с сервера.
Вы должны сказать серверу оценить файлы js в виде файлов php, если вы используете сервер apache, вы можете сделать это с помощью htaccess файла следующим образом:
<FilesMatch "\.js$">
SetHandler application/x-httpd-php
Header set Content-type "application/javascript"
</FilesMatch>
Подробнее здесь:
Parse js/css как файл PHP с использованием htaccess
http://css-tricks.com/snippets/htaccess/use-php-inside-javascript/
Изменить: на странице http-запроса этот трюк позволяет обрабатывать файлы с расширением js компилятором php. Все части php в файле js будут выполнены, и файл js с добавленными данными сервера будет передан браузеру.
Однако OP использует html-форматированный файл (возможно, с расширением php), не файл js, поэтому в этом конкретном случае нет необходимости в моем предложении.
Предлагаемые js-решения - это путь. Если переменная должна быть сохранена на сервере, используйте ajax для ее отправки.
Ответ 7
Попробуйте, это может сработать.
<html>
<?php $num = 1; ?>
<div id="Count"><?php echo $num; ?></div>
<input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()">
<br>
<script>
function Inc() {
i = parseInt(document.getElementById('Count').innerHTML);
document.getElementById('Count').innerHTML = i+1;
}
</script>
</html>
Ответ 8
несмотря на некоторые комментарии, в некоторых случаях действительно необходимо получить доступ к функциям PHP в Javascript (например, в случаях AJAX).
В этих случаях вы можете использовать библиотеку mwsX для использования своих функций PHP в Javascript.
Библиотека mwsX:
https://github.com/loureirorg/mwsx
Ответ 9
Просто верните его:
<html>
<?php
$num = 1;
echo $num;
?>
<input type="button"
name="lol"
value="Click to increment"
onclick="Inc()" />
<br>
<script>
function Inc()
{
Return <?php
$num = 2;
echo $num;
?>;
}
</script>
</html>