Такой вопрос интересный назрел, как и можно ли вообще так сделать, чтобы передать в php функцию аргументом js переменную?...
/* файл index.php */
<div id="box"></div>
<?php
function getNum($num){
return $num*5;
}
?>
<script>
var a = 5;
var html = <?php echo getNum(/*как сюда вставить переменную a из js?*/); ?>;
$('#box').html(html);
</script>
Пытался в getNum просто закрыть php, вставить переменную js и вновь открыть php - но ошибку так бьет. Как правильно это сделать, и можно ли так?
PHP работает с сервером, а Javascript с клиентом, по-этому Вы не можете использовать одну и ту же переменную в скриптах этих двух языков без передачи этой переменной на сервер с клиента. Но, Вы можете указать переменную PHP в переменную JS:
<script type="text/javascript">
var foo = '<?= $foo ?>';
</script>
Чтобы отправить переменную Javascript в код PHP, Вам надо использовать ajax. Это будет выглядеть как-то так (самый простой пример):
var variableToSend = 'foo';
$.post('file.php', {variable: variableToSend});
На сервере Вы можете получить переменную в массиве $_POST:
$variable = $_POST['variable'];
Нельзя! PHP выполняется на сервере, а js на клиенте. Если результат выполнения js скрипта влияет только на html (то-есть на DOM) в этом нет необходимости, и логику изменений для элементов нужна продолжать писать на js, а если данные нужна обрабатывать на сервере(выполнить действия с базой, сессией, coockies) то-есть результат выполнения js влияет на дальнейшие состояние данных после перезагрузки страницы, то нужна передавать на сервер запросом через ajax или как элемент формы которая будет отправляться юзером.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости