JavaScript不适用于HTML和PHP

JavaScript不适用于HTML和PHP,javascript,php,html,Javascript,Php,Html,我试图用basicHTML和PHP创建一个简单的注册表,将数据插入数据库。基本上,我希望在插入数据之前首先验证字段,因此我创建了一个外部JavaScript文件。问题是,它在下一页显示实际的JavaScript代码,而不是验证 我的HTML文件: <html> <head> <title>Register Page</title> <body> <form id="register" method="POST" actio

我试图用basic
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>
<script type="text/javascript">
    function verify(){
        var forename = document.getElementById["forename"].value;
        if(forename == null || forename == ""){
            alert("Forename is empty");
            return false;
        }
    }
</script>   

注册页
名字:
姓氏:
密码:
我的JavaScript文件:

<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>
<script type="text/javascript">
    function verify(){
        var forename = document.getElementById["forename"].value;
        if(forename == null || forename == ""){
            alert("Forename is empty");
            return false;
        }
    }
</script>   

函数验证(){
var forename=document.getElementById[“forename”].value;
如果(名字==null | |名字==“”){
警报(“名字为空”);
返回false;
}
}
我被重定向到一个新网页,显示我上面写的代码,而不仅仅是验证


我对网络开发完全陌生,如果有人能帮助我,这将意味着很多。我所要做的就是在将字段添加到数据库之前验证它们。

我认为您应该重新检查document.getElementById[“forename”]

它应该是document.getElementById(“名字”)

您可以尝试分步调试。例如,尝试console.log

var forename = document.getElementById("forename").value;

console.log(forename);
尝试Chrome/Firebox Inspect element>Console,查看是否打印了任何内容

希望这有帮助


和平!xD

我认为您应该重新检查document.getElementById[“forename”]的语法

它应该是document.getElementById(“名字”)

您可以尝试分步调试。例如,尝试console.log

var forename = document.getElementById("forename").value;

console.log(forename);
尝试Chrome/Firebox Inspect element>Console,查看是否打印了任何内容

希望这有帮助


和平!xD

如果希望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>

注册页
函数验证(){
var forename=document.getElementById[“forename”].value;
如果(名字==null | |名字==“”){
警报(“名字为空”);
返回false;
}
}
名字:
姓氏:
密码:

如果希望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>

注册页
函数验证(){
var forename=document.getElementById[“forename”].value;
如果(名字==null | |名字==“”){
警报(“名字为空”);
返回false;
}
}
名字:
姓氏:
密码:

您不应该将register.js声明为您的
操作。
元素的action属性告诉浏览器将表单数据发送到哪里(
POST
GET
),这就是为什么要在浏览器中注册.js


您需要拦截提交表单的浏览器,进行验证,然后将数据发送到PHP文件(register.PHP)。可能值得阅读一些有关javascript表单验证的教程,例如。

您不应该将register.js声明为您的
操作。
元素的action属性告诉浏览器将表单数据发送到哪里(
POST
GET
),这就是为什么要在浏览器中注册.js


您需要拦截提交表单的浏览器,进行验证,然后将数据发送到PHP文件(register.PHP)。阅读一些关于javascript表单验证的教程可能是值得的,例如。

您必须更改两件事

将id添加到输入控件,因为您是通过id获取文本值的

<input type="text" name="forename" id="forename">
完成用户名和密码验证后。提交表格

<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>

函数验证(){
var forename=document.getElementById(“forename”).value;
如果(名字==null | |名字==“”){
警报(“名字为空”);
返回false;
}
}
名字:
姓氏:
密码:

你必须改变两件事

将id添加到输入控件,因为您是通过id获取文本值的

<input type="text" name="forename" id="forename">
完成用户名和密码验证后。提交表格

<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>

函数验证(){
var forename=document.getElementById(“forename”).value;
如果(名字==null | |名字==“”){
警报(“名字为空”);
返回false;
}
}
名字:
姓氏:
密码:


你能做的是将你的洞脚本放入php中的echo,然后为js创建一个php验证,检查js是否成功,如果成功,则执行脚本。

你能做的是将你的洞脚本放入php中的echo,然后为js创建一个php验证,并检查js是否成功完成,如果成功,则执行脚本。

是的,但是如果要在单独的文件中进行验证,会发生什么?还有,验证后如何添加到数据库中?是的,但是如果要将其添加到单独的文件中,会发生什么情况?还有,在验证后如何添加到数据库中?您是否尝试过控制台的功能?或者简单地写一个警报(名字),看看它是否能够检索到任何值。你试过那个控制台吗?或者简单地写一个警报(名字),看看它是否能够检索到任何值。
action=“register.js”
这是行不通的。您还有
action=“register.php”
所以请删除js脚本。那么如何运行脚本???
action=“register.js”
,这将不起作用。您还有
action=“register.php”
所以删除js脚本。那么如何运行脚本?在哪里编写脚本。对不起,如果可能的话,请你编辑我的javascript代码,因为我现在太迷茫了,你必须在验证后提交表单。我不知道怎么做。抱歉,我的javascript不起作用,什么都不起作用-这个web开发很糟糕,只要你提交表单,它就会转到register.php页面,因为你在Action中提到了我在哪里写这个。所以