我正在使用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)
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)
我发现你不能在 IE 和其他浏览器中执行类似的操作。不过它在 Firefox 中确实有效。您必须回显其他方法中发布的每一行。
<?php
if(somecondition)
{
?>
<script>
Some javascript code
</script>
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46672 次 |
| 最近记录: |