Possible Duplicate:
How to call a JavaScript function from PHP?调用JavaScript功能块
我工作的学校项目,以及我与登录页面挣扎。在我的PHP代码中,如果用户输入了不正确的用户名或密码,我想调用一个显示消息的Javascript函数,并简要地更改显示消息的背景颜色。这里是我的JS和PHP代码块:
<script>
var flashContent = function() {
document.getElementById("outputlogin").style.backgroundColor = "#ffff00";
document.getElementById("outputlogin").innerHTML = "Incorrect login.";
function proxy() {
updateColor(0);
}
setTimeout(proxy, 50);
}
var updateColor = function (newColor) {
var hexColor = newColor.toString(16);
if (hexColor.length < 2)
hexColor = "0" + hexColor;
var colorString = "#ffff" + hexColor;
document.getElementById("outputlogin").style.backgroundColor = colorString;
function proxy() {
updateColor(newColor);
}
if (newColor < 255) {
newColor = newColor + 5;
setTimeout(proxy, 50);
}
}
</script>
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if(($username == "Ben") && ($password == "thepassword")){
//echo "SUCCESS";
session_start();
$_SESSION['bensedmgallerysesh'] = session_id();
header("Location:../index.php");
}else{
if($username != "" && $password != ""){
javascript:flashContent();
}
}
?>
眼下,击中登录按钮后,我得到错误信息:
致命错误:调用未定义功能flashContent()
如何我解决这个问题吗?
您还想查看[在Meta上的这个问题](http://meta.stackexchange.com/a/5235/135887)关于您名下的大胖橙色“0%”如何影响您的能力得到答案。 – Charles
您将Javascript用作客户端语言,将PHP用作服务器端语言。您不能从另一种语言中直接调用方法。 –
你知道JS和PHP在完全不同的上下文中操作吗?一个是客户端(浏览器),JS,另一个是服务器端PHP。如果你需要一个PHP脚本来验证你的表单服务器端,那么你有两种选择,向PHP脚本发出一个AJAX请求,并让JS做相应的处理,或者将表单提交给PHP脚本并输出一些HTML/JS会做你所需要的。在另一个里面没有呼叫者。 – thescientist