Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的html表单验证无效_Javascript_Html_Validation - Fatal编程技术网

Javascript 我的html表单验证无效

Javascript 我的html表单验证无效,javascript,html,validation,Javascript,Html,Validation,我是初学者,我的作业需要一些帮助。我不知道我做错了什么。标签和提交按钮显示在html中,但当我单击提交按钮时,它不会验证表单 我的任务是制作一张表格输入你的名字。Onsubmit将调用验证名称的函数,该函数将验证名称不能为空且必须超过6个字符 <html> <head> <body> <form name="myForm" autocomplete="on" onsubmit="return validateForm()">

我是初学者,我的作业需要一些帮助。我不知道我做错了什么。标签和提交按钮显示在html中,但当我单击提交按钮时,它不会验证表单

我的任务是制作一张表格输入你的名字。Onsubmit将调用验证名称的函数,该函数将验证名称不能为空且必须超过6个字符

<html>
   <head> 
   <body>
      <form name="myForm" autocomplete="on" onsubmit="return validateForm()">
         <p><label>First name &#40;required&#41; <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 &#40;required&#41;</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 &#40;required&#41; <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