JavaScript 函数无法在 php 代码中调用

Saq*_*Ali 0 javascript php

function error()的工作不是从 php 代码调用。所以请帮助我解决这个问题。在 php 代码之外调用时,fucntion 可以正常工作。但是在 php 代码中调用时没有显示输出。

<html>
<head>
    <title>Login Page</title>
    <link rel="stylesheet" href="css/design.css">
    <script type="text/JavaScript">
        function error(){
        document.getElementById("wrong-attempt").innerHTML="Wrong Username Or Password";
        }
    </script>
    <?php
        if(isset($_POST['submit'])){
            echo '<script> error(); </script>';
        }
    ?>
</head>
<body background="pics/background.jpg">
<div class="wrapper">
<center>
    <div class="form-wrapper">
        <form action="index.php" method="POST">
            <div>
            </div>
                <h1>User Login</h1>
            <div>
                <img src="pics/login.png" width="100" height="100"/>
            </div>
            <div>
                <input name="ID" placeholder=" Username" type="text" required="true"/></br>
                <input name="pass" placeholder=" Password" type="password" required="true"></br>
                <input type="image" src="pics/loginb.png" name="submit" value="Login" width="100"/>
            </div>
        </form>
            <div id="wrong-attempt">
            </div>
    </div>
<center/>
</div>
</body>'
</html>
Run Code Online (Sandbox Code Playgroud)

sla*_*x0r 5

将该 PHP 块放在错误尝试的div 元素之后。您正在调用 error() 函数,该函数甚至在浏览器中创建该元素之前就对其进行操作。

正如评论中所建议的那样,与其使不必要的 JavaScript 函数调用复杂化,只需将该 PHP if 放入<div id="wrong-attempt"></div>元素中,然后简单地打印出消息或整个元素,甚至不发送此div(如果有)没有错误。

并将您的 JavaScript 放入页脚,就在结束</body>标记之前,正如评论中所建议的那样。