我正在尝试使用基本的HTMLPHP创建一个简单的注册表单,以将数据插入到我的数据库中。基本上,我想在插入数据之前先验证字段,因此我创建了一个外部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>

09-11 19:10
查看更多