JavaScript函数不能在php代码中调用

时间:2016-04-26 08:19:12

标签: javascript php

我的function error()无法通过php代码进行调用。 所以请帮我解决这个问题。在php代码外部调用时,fucntion工作正常。但是在调用insisde 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>

1 个答案:

答案 0 :(得分:4)

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

正如评论中也提到的那样,不要将不必要的JavaScript函数调用复杂化,只需将PHP if放入<div id="wrong-attempt"></div>元素中,然后只打印出消息或整个元素,如果没有错误,甚至不发送 div

并在结束</body>标记之前将JavaScript放入页脚,同样在评论中建议。