running javascript from php?


running javascript from php?

我不知道这是否可能,因为我知道php是服务器端,javascript是客户端。

但是我正在尝试从 php 页面内的if isset运行此 JavaScript 代码。

我正在使用以下代码:

 <?php
    if( isset($_POST['submit2'])){
        echo "
            <script type='"text/javascript'">
                $(document).ready(function(){
    setTimeout(function () {
        doWork();
        window.location.reload();
    }, 2000);
    function doWork() {
        $('#submit').trigger('click');
    }
});
</script>";
     }
  ?>

这个JavaScript应该点击名为(提交)的按钮,如果它不在PHP回显中,它就可以正常工作......我还检查了if if( isset($_POST['submit2']))是否真的返回了一个值,它确实返回了一个值,并且它应该工作。

所以,我不知道这里的问题是什么>

有人可以帮我解决这个问题吗?

我一直发现最好将我的主要javascript/jquery代码保留在head标签中,并使用php来检查和设置允许我的脚本运行的变量;使用php将javascript布尔值回显到我的JS块中。通过这种方式,您知道 javascript 正在做它应该做的事,而不必担心元素在 DOM 中没有得到正确处理。

所以我会这样做(我不知道您希望事情发生的顺序,所以这可能看起来不正常,但原理应该仍然相同):

<?php
if( isset($_POST['submit2'])){
    $varSet = "var set2 = 1;";
} else {
    $varSet = "var set2 = 0;";
}
?>

<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type='"text/javascript'">
    $(document).ready(function(){
        <?php echo $varSet; ?>
        if(set2 == 1){
            setTimeout(function () {
                doWork();
                window.location.reload();
            }, 2000);
            function doWork() {
                $('#submit').trigger('click');
            }
        }
    });
</script>
</head>