Javascript 我的html表单验证无效
我是初学者,我的作业需要一些帮助。我不知道我做错了什么。标签和提交按钮显示在html中,但当我单击提交按钮时,它不会验证表单 我的任务是制作一张表格输入你的名字。Onsubmit将调用验证名称的函数,该函数将验证名称不能为空且必须超过6个字符Javascript 我的html表单验证无效,javascript,html,validation,Javascript,Html,Validation,我是初学者,我的作业需要一些帮助。我不知道我做错了什么。标签和提交按钮显示在html中,但当我单击提交按钮时,它不会验证表单 我的任务是制作一张表格输入你的名字。Onsubmit将调用验证名称的函数,该函数将验证名称不能为空且必须超过6个字符 <html> <head> <body> <form name="myForm" autocomplete="on" onsubmit="return validateForm()">
<html>
<head>
<body>
<form name="myForm" autocomplete="on" onsubmit="return validateForm()">
<p><label>First name (required) <input type="text" id="firstName"
autofocus="autofocus" /> </label></p>
</form>
<input type="submit" name="S1" value="Submit response" />
<script>
function validateForm(){
var firstName=document.getElementById("firstName");
if (firstName.value.length<6){
alert("Please enter your first name (6 characters or more)");
firstName.focus();
return false;
}
alert("Thank you for your submission");
return true;
}
</script>
</body>
</head>
</html>
名字(;要求)
函数validateForm(){
var firstName=document.getElementById(“firstName”);
if(firstName.value.length将提交按钮放在表单标签内
函数validateForm(){
var firstName=document.getElementById(“firstName”);
if(firstName.value.length<6){
警告(“请输入您的名字(6个字符或更多)”;
firstName.focus();
返回false;
}
提醒(“感谢您的提交”);
返回true;
}
名字(;必填)
代码的问题在于,您试图将结果返回给事件。事件不接受任何响应。因此,请尝试此操作
<html>
<body>
<form name="myForm" autocomplete="on" onsubmit="validateForm()">
<p>
<label>First name (required)</label>
<input type="text" id="firstName" autofocus="autofocus" />
</p>
<input type="submit" name="S1" value="Submit response" />
</form>
<script>
function validateForm(){
var firstName=document.getElementById("firstName");
if (firstName.value.length<6){
alert("Please enter your first name (6 characters or more)");
firstName.focus();
return false;
}
alert("Thank you for your submission");
document.getElementsByTagName("form")[0].submit()
}
</script>
</body>
</html>
名字(;必填);
函数validateForm(){
var firstName=document.getElementById(“firstName”);
如果(firstName.value.length)您的submit按钮位于表单标记之外,这就是onsubmit方法未被调用的原因。问题出在您的代码中。请记住,您必须将submit按钮放在
标记下。并且始终将JS代码放在
部分
找到下面的代码,并尝试希望这将为您工作
<html>
<head>
<script>
function validateForm() {
var firstName = document.getElementById("firstName");
if (firstName.value.length < 6) {
alert("Please enter your first name (6 characters or more)");
firstName.focus();
return false;
}
alert("Thank you for your submission");
return true;
}
</script>
</head>
<body>
<form name="myForm" autocomplete="on" onsubmit="return validateForm();">
<p><label>First name (required) <input type="text" id="firstName"
autofocus="autofocus" /> </label></p>
<input type="submit" name="S1" value="Submit response" />
</form>
</body>
</html>
函数validateForm(){
var firstName=document.getElementById(“firstName”);
if(firstName.value.length<6){
警告(“请输入您的名字(6个字符或更多)”;
firstName.focus();
返回false;
}
提醒(“感谢您的提交”);
返回true;
}
名字(;必填)
您的HTML已损坏:您的第一个输入字段位于
内,而您的提交按钮位于
外。浏览器可能允许您解决此问题,也可能不允许,但您尚未解释您遇到的困难。但当我单击提交按钮时,它似乎无法验证表单他确实解释了他的困难,@HoboSapiens@HoboSapiens在标签中放置输入是不正确的,“而您在标签标签中放置输入,这也是不正确的。”要隐式地将标签与另一个控件关联,控件元素必须在标签元素的内容中
@mlefvre,我总是在输入之前学习并使用它,而不是在输入之前使用它。我想当时我有点错了。我的想法和你一样,但我在不久前就遇到了我说的方式。我想很多人都不知道我现在更喜欢这样做,因为你不必为标签指定,也不必为输入指定id
。