从PHP调用函数(Javascript)


Calling a Function (Javascript) from PHP

我有一个javascript弹出对话框,但无法在我的php代码中使用它。我尝试了我能想到的一切,但都不起作用。下面是一个示例代码片段:

<?php
    $password = "sysadmin";
    if( isset( $_POST[ 'signin' ] ) )
    {
        if( $password == 'sysadmin' )
        {
            echo "<script type = 'text/javascript'>msgAlert( 'Congrats', 'Access Granted' );</script>";
        }
    }
?>
<html>
    <head>
        <title>Test for Javascript Function Call</title>
    </head>
    <body>
        <form action = "" method = "POST">
            <button name "signin" type = "submit">Sign In</button>
        </form>
        <script type = "text/javascript">
            function msgAlert( title, text )
            {
                alert( title + " : " + text );
            }
        </script>
    </body>
</html>

上面的代码只是一个示例测试,如果我能让上面的代码工作,也许我可以调用boostrap javascript弹出对话框,因为使用默认的window.aalert((对话框真的很无聊。那么,代码出了什么问题?为什么它没有调用必要的函数?我应该做些什么才能使代码顺利运行。

顺便说一句,请不要把我的问题往下说。这个问题对你来说可能是多余的/愚蠢的/烦人的/不重要的,但我是网络开发的新手,所以它对我来说非常重要…感谢的帮助

js代码中还有一个错误:您尝试在加载dom之前调用该函数。这可能会造成问题。在你的js:里做这样的事

window.onload=function(){msgAlert("test");};

您需要在php标记中包含Javascript函数。否则,Javascript函数调用将超出范围。这里有一个例子。N: B代码未经过测试。

<?php
    $password = "sysadmin";
    if( isset( $_POST[ 'signin' ] ) )
        {
            if( $password == 'sysadmin' )
                {
                    echo "<script type = 'text/javascript'>
function msgAlert( title, text )
            {
                alert( title + ' : ' + text );
            }msgAlert( 'Congrats', 'Access Granted' );</script>";
                }
        }
?>
   <!-- remaining html -->