gpt4 book ai didi

JavaScript 函数没有响应

转载 作者:行者123 更新时间:2023-11-27 22:42:02 25 4
gpt4 key购买 nike

我在外部 js 文件中有一个函数,该函数应该验证我的虚拟网站上的某些字段,但它似乎没有响应。

我的浏览器控制台没有显示错误,所以我不确定问题出在哪里,因为我确信我正确调用了我的函数,并且调用它的脚本部分也是正确的。

function checkFields(){

var fname = document.getElementById("firstname").value;
var lname = document.getElementById("lastname").value;
var mail = document.getElementById("email").value;
var phone = document.getElementById("phonenumber").value;
var pw = document.getElementById("password").value;
var cpw = document.getElementById("cpassword").value;

if ((fname == "") || (fname == null)) {
return alert('Error', 'Missing Fields');
}
if ((lname == "") || (lname == null)) {
return alert('Error', 'Last Name Missing');
}
if ((mail == "") || (mail == null)) {
return alert('Error', 'Email Missing');
}
if ((phone == "") || (phone == null)) {
return alert('Error', 'Phone Missing');
}
if ((pw == "") || (pw == null)) {
return alert('Error', 'Enter a password');
}
if ((cpw == "") || (cpw == null)) {
return alert('Error', 'Confirm your password please');
}
if (pw != cpw) {
return alert('Error', 'Passwords do not match');
}
return false;
}
<!DOCTYPE html>
<html>
<head>
<title>Website</title>
<link rel="stylesheet" type="text/css" href="practice.css">
</head>
<body>
<div style="width:100%">
<div id="header">
MINIMAL STORE <br />

<div id="head">

</div>
</div>
<div id ="left">
<div><b>Main Menu</b></div>
<li><a href="nothing">Home</a></li>
<li><a href="nothing">Register</a></li>
<li><a href="nothing">Shop</a></li>
<li><a href="nothing">My Cart</a></li>
<li><a href="nothing">Checkout</a></li>
</div>
<div id="main">
<h1>Register Now!!!</h1>
<form action="" method="post" onsubmit="return checkFields()">
First name:<br>
<input type="text" id="firstname">
<br>
Last name:<br>
<input type="text" id="lastname">
<br>
Email:<br>
<input type="text" id="email">
<br>
Phone Number<br>
<input type="text" id="phonenumber">
<br><br>
<form action="">
Password: <input type="password" id="password"><br>
Confirm Password: <input type="password" id="cpassword">
</form>
<input type="submit" value="Submit">
</form>
</div>

<div id="footer">
</div>
</div>
<script type="text/javascript" src="prac.js"></script>
</body>
</html>

最佳答案

您有一个<form>在另一个<form>这导致您的表单无法正确提交:

<form action="">
Password: <input type="password" id="password"><br>
Confirm Password: <input type="password" id="cpassword">
</form>

Forms CANNOT be nested 。只需删除密码周围的表单,表单就会正确提交给您的函数。

侧边栏:

请注意 alert() 不接受多个参数。您还应该做类似的事情:

alert("Error\nMissing Fields");
return false;

在函数结束时,您应该返回 true(提交表单)。

关于JavaScript 函数没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38679904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com