Я пытаюсь вызвать функцию javascript из php. По всем примерам, которые я рассматривал, следует работать, но это не так. Почему нет?
<?php echo "function test"; echo '<script type="text/javascript"> run(); </script>'; ?> <html> <script type="text/javascript"> function run(){ alert("hello world"); } </script> </html>
Ваш html недействителен. Вам не хватает некоторых тегов.
И вам нужно вызвать функцию после ее объявления, например
<html> <head> <title></title> <script type="text/javascript"> function run(){ alert("hello world"); } <?php echo "run();"; ?> </script> </head> <body> </body> </html>
В этом случае вы можете поместить прогон перед объявлением метода, но как только вы завершите вызов метода внутри другого тега скрипта, тег сценария должен быть после объявления метода.
Попробуйте сами http://jsfiddle.net/qdwXv/
функция должна заявляться перед использованием
должен быть
<html> <script type="text/javascript"> function run(){ alert("hello world"); } <?php echo "function test"; echo run(); ; ?> </script> </html>
Как и другие, функция должна быть объявлена первой. Но, если вам нужно сначала откликнуться на JavaScript от PHP, вы можете либо сохранить его в переменной PHP, чтобы эхо-сигнал позже, либо ваш код ждет, когда dom сначала завершит загрузку …
document.ready = function() { run() }
Если вы используете jQuery или другую фреймворк, у них есть лучший способ сделать это … В jQuery:
$(function(){ run(); })