这是我的JS功能:
function checkError() {
var field = 'error';
var url = window.location.href;
document.write('test');
window.alert('please work');
if(url.indexOf('?' + field + '=') != -1)
document.write('The username and password do not match. Do not use your full email.');
return true;
}
然后在我的身体段落中我有:
<?php echo '<script> checkError();</script>' ?>
调用它没有任何错误。但该功能在我的页面上没有任何作用。有什么想法吗?我已经尝试将JS脚本放在页面和JS文件中,并正确地调用它来包含它。
完整脚本:
<html>
<head>
<meta charset="UTF-8">
<title>Secure Login</title>
<script type="text/JavaScript" src="js/functions.js"></script>
<link href="stylesheets/mainStyle.css" rel="stylesheet" type="text/css">
<link href="stylesheets/formStyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php include('header.php'); ?>
<div id="mainContent">
<h1>Member Login</h1>
<div id="mainParaText">
<?php echo '<script> checkError();</script>' ?>
</div>
</body>
</html>
TURNS OUT JS功能未定义。呃,想不通为什么(以为我一会儿就解决了这个问题大声笑)
答案 0 :(得分:0)
尝试这样:
<html>
<head>
<meta charset="UTF-8">
<title>Secure Login</title>
<script type="text/JavaScript" src="js/functions.js"></script>
<link href="stylesheets/mainStyle.css" rel="stylesheet" type="text/css">
<link href="stylesheets/formStyle.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function checkError(){
var field = 'error';
var url = window.location.href;
document.write('test');
window.alert('please work');
if(url.indexOf('?' + field + '=') != -1)
document.write('The username and password do not match. Do not use your full email.');
return true;
}
<?php
echo "checkError();";
?>
</script>
</head>
<body>
<?php include('header.php'); ?>
<div id="mainContent">
<h1>Member Login</h1>
<div id="mainParaText">
<?php echo '<script> checkError();</script>' ?>
</div>
</body>
</html>
答案 1 :(得分:-1)
JS是客户端,PHP是服务器端。
这意味着PHP代码中的所有内容都将在服务器上处理,然后“回显”到您的浏览器,在那里您会收到未定义的错误。
调试时,您应该首先检查浏览器中的源代码,以便准确了解服务器的回应。
我猜了一下,但尝试使用双引号而不是单引号。
与问题无关...... 您正在使用JS检查用户名和密码?你到底怎么做?用ajax回调服务器?如果你用JS检查,那意味着密码应该在某个地方的源代码中并且不安全。用户名/通过验证应始终在服务器端进行(使用ajax请求或通常的提交表单)。