我的function error()
无法从 php 代码调用。
所以请帮助我解决这个问题。 fucntion 在 php 代码外部调用时工作正常。但在 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>
最佳答案
将该 PHP block 放在 wrong-attempt div 元素之后。您正在调用 error() 函数,该函数甚至在浏览器中创建该元素之前就对其进行操作。
正如评论中所建议的那样,不要使不必要的 JavaScript 函数调用变得复杂,只需将 PHP if 放入 <div id="wrong-attempt"></div>
中即可。元素,只需打印出消息或整个元素,如果没有错误,甚至不发送此 div。
并将 JavaScript 放入页脚,就在结束之前 </body>
标签,正如评论中所建议的那样。
关于JavaScript 函数无法在 php 代码中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859171/