从php if语句运行JavaScript函数

Aut*_*cus 6 javascript php

我正在使用PHP条件,并想知道我是否可以运行JavaScript函数,而无需使用JavaScript点击它:

if($value == 1)     
{  
    JavaScript to run the function  
}
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Dan*_*llo 28

首先要记住,您的PHP代码在服务器上进行评估,而JavaScript则在客户端的浏览器中运行.这些评估发生在不同的地方,在不同的时间.因此,您无法从PHP调用JavaScript函数.

但是,使用PHP,您可以呈现HTML和JavaScript代码,使其仅在PHP条件为真时呈现.也许你可能想尝试这样的事情:

if($value == 1) {
   echo "<script>";
   echo "alert('This is an alert from JavaScript!');";
   echo "</script>";
} 
Run Code Online (Sandbox Code Playgroud)


Cha*_*ick 8

Javascript是客户端代码,PHP是服务器端,因此在PHP中构建页面时无法执行javascript.

要在页面加载后立即在客户端执行javascript,一种方法是使用body onload处理程序来调用你的函数:

<?php
echo '<script type="text/javascript">';
echo 'function myFunction(){ /* do_something_in_javascript */ };';
echo '</script>';

if ($value == 1) {
    echo '<BODY onLoad="myFunction()">';
}
?>
Run Code Online (Sandbox Code Playgroud)

更好的是,如果你能负担得起带宽,使用jQuery并使用$(document).ready():

<?php
if ($value == 1) {
    echo '<script type="text/javascript">';
    echo '$(document).ready(function(){ /* do_something_in_javascript */ });';
    echo '</script>';
}
?>
Run Code Online (Sandbox Code Playgroud)


Nin*_*ist 5

我发现你不能在 IE 和其他浏览器中执行类似的操作。不过它在 Firefox 中确实有效。您必须回显其他方法中发布的每一行。

<?php
if(somecondition)
  {
?>

<script>
Some javascript code
</script>

<?php
  }
?>
Run Code Online (Sandbox Code Playgroud)