我正在尝试创建一个具有基本HTML
的简单注册表,并PHP
将数据插入我的数据库。基本上,我想在插入数据之前先验证字段,因此我创建了一个外部JavaScript
文件。问题是,它在下一页上显示实际的JavaScript
代码,而不是验证!
我的 HTML 文件:
<html>
<head>
<title>Register Page</title>
<body>
<form id="register" method="POST" action="register.js" onsubmit="return verify()" action="register.php">
Forename: <input type="text" name="forename"><br>
Lastname: <input type="text" name="surname"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Register">
</form>
</body>
</head>
</html>
我的 JavaScript 文件:
<script type="text/javascript">
function verify(){
var forename = document.getElementById["forename"].value;
if(forename == null || forename == ""){
alert("Forename is empty");
return false;
}
}
</script>
不仅仅是验证,我被重定向到一个新网页,向我展示我在上面编写的代码。
我是Web开发的新手,如果有人可以帮助我,那将意味着很多。我只想在将字段添加到数据库之前验证它们。
改变两件事
将 id 添加到输入控件,因为您是通过 Id 提取文本的值
<input type="text" name="forename" id="forename">
getElementById() 的语法
var forename = document.getElementById("forename").value;
一旦您验证用户名和密码。提交表格
<script type="text/javascript">
function verify(){
var forename = document.getElementById("forename").value;
if(forename == null || forename == ""){
alert("Forename is empty");
return false;
}
}
</script>
<form id="register" method="POST" onsubmit="return verify()" action="register.php">
Forename: <input type="text" id="forename"><br>
Lastname: <input type="text" name="surname"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Register">
</form>
我认为你应该重新检查 document.getElementById["forename"] 的语法
它应该是document.getElementById("forename")
您可以尝试逐步调试。例如,尝试控制台.log。
var forename = document.getElementById("forename").value;
console.log(forename);
尝试Chrome/Firebox Inspect 元素>控制台,看看是否打印了任何内容。
希望这有帮助。
和平! xD
你不应该声明注册.js作为你的<form>
的action
。<form>
元素的 action 属性告诉浏览器将表单数据发送到(POST
或GET
)到哪里,这就是您在浏览器中注册.js的原因。
您需要拦截提交表单的浏览器,进行验证,然后将数据发送到您的PHP文件(register.php)。可能值得阅读一些关于javascript表单验证的教程,例如这个教程点一。
你可以做的是将你的洞脚本变成php的回显,然后为js创建一个php验证,并检查js是否成功完成,如果是,则执行脚本。
如果你想让你的javascript在同一个HTML页面上,那么把这个类型
<html>
<head>
<title>Register Page</title>
<script type="text/javascript">
function verify(){
var forename = document.getElementById["forename"].value;
if(forename == null || forename == ""){
alert("Forename is empty");
return false;
}
}
</script>
</head>
<body>
<form id="register" method="POST" action="" onsubmit="return verify()" action="register.php">
Forename: <input type="text" name="forename"><br>
Lastname: <input type="text" name="surname"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Register">
</form>
</body>
</html>