**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
这是我的HTML和JS代码:
<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
let x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Name must be filled out");
return false;
}
}
function validateForm() {
let x = document.forms[myForm][lname].value;
if (x == "") {
alert("Last name should be filled out");
return false;
}
else
alert("Thank you for your response");
}
</script>
</head>
<body>
<h1>Student Information Form</h1>
<br>
<br>
<form name="myForm" onsubmit="return validateForm()" method="post">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="fname"><br> <br>
<label for="email">Email:</label>
<input type="text" id="email" name="email">
<input type="reset">
<input type="submit" value="Submit">
</form>
</body>
</html>
点击提交按钮后,我调用警报出现,但它没有出现。当我在输入标记中有数据时,当我单击提交时,数据就消失了。为什么会这样???
3条答案
按热度按时间vc9ivgsu1#
正如艾伦·莫里斯所说,你有很多事情要做:
1.第一个
validateForm()
函数会被第二个函数覆盖,所以你必须把这两个函数合并为一个。1.在第二个函数
document.forms["myForm"]["lname"]
中传递文档中的索引键时出现语法错误缺少引号因此,在我们修复这些错误并将我们的逻辑合并为一个之后,您的函数将看起来像:
7gyucuyw2#
下面是您的代码的一个工作片段。您使用了两次的函数
validateForm()
就是您面临的问题。如果你必须使用一个函数,你应该只调用它一次。为了验证其余的输入,我在函数的其余部分添加了更多的逻辑,以防您必须验证您的姓氏。
希望能帮上忙。
odopli943#
你的代码有两个问题:
validateForm()
的第一个示例被第二个示例重写,并且永远不会被调用。你应该把所有的代码移到一个函数中。document.forms["myForm"]["lname"].value
代码中的字符串缺少引号。