#javascript #php #html #function #pageload
#javascript #php #HTML #функция #загрузка страницы
Вопрос:
Я хочу загружать функцию JS только тогда, когда мой php-код вызывает эту функцию, но не при первом посещении страницы. Мой код выглядит так:
<?php
function runMyFunction() {
echo '<script type="text/javascript"> JSfunction(); </script>';
}
?>
<script>
JSfunction();
function JSfunction(){
// Code in my function
}
</script>
Проблема в том, что функция jsFunction() вызывается, как только страница (index.html ) загружается. Но я хочу выполнить функцию только с моим PHP-кодом, который вызывается после нажатия кнопки. Я был бы рад ответу.
Комментарии:
1. PHP запускается на вашем сервере, JavaScript запускается в браузере.
2. Избавьтесь от
runMyFunction
. Добавьте код этой функции в обработчик события click. Не будет срабатывать при загрузке, вместо этого будет срабатывать при нажатии.
Ответ №1:
привяжите событие нажатия кнопки к вызову ajax, который вызывает ваш php-код и возвращает JSON, сообщающий, продолжать или нет.
Другой способ для этого — использовать этот тип php-кода:
<?php
if(isset($_GET['myvar'])){
?>
<script type="text/javascript">
//call your javascript here
</script
<?php
}
?>
После этого нажмите кнопку перезагрузки страницы с добавлением переменной GET myvar к URL.
Пример: https://example.com?myvar=1