Javascript验证不一致

时间:2014-11-07 11:17:19

标签: javascript html html5 validation

在下面的代码中,函数和调用都非常相似 为什么JavaScript验证警报在以下代码中起作用:

<html>
<head>
<title>Form Validation</title>
<script type="text/javascript">

function validate()
{
   if( document.myForm.Name.value == "" )
   {
     alert( "Please provide your name!" );
     document.myForm.Name.focus() ;
     return false;
   }
   return( true );
}

</script>
</head>
<body>
 <form  name="myForm"  onsubmit="return(validate());">
 <table cellspacing="2" cellpadding="2" border="1">
 <tr>
   <td align="right">Name</td>
   <td><input type="text" name="Name" /></td>
 </tr>

 <tr>
 <td align="right"></td>
 <td><input type="submit" value="Submit" /></td>
 </tr>
 </table>
 </form>
 </body>
 </html>

但不适用于此:

<!DOCTYPE html>
<html>
<head>
<title> Untitled</title>
<script type='text/javascript'>

 }
 function validate()
{
   if( document.myForm.firstname.value == "" )
   {
     alert( "Please provide your first name!" );
     document.myForm.firstname.focus() ;
     return false;
   }
   return( true );
}

</script>
</head>
<body>
<form action="/cgi-bin/test.cgi" name="myForm"  onsubmit="return(validate());">
<h1> Truth </h1>
<label> First Name: </label> <input type="text" name="firstname" id="firstname" maxlength="30" placeholder="John" /> <br><br>
<input type="submit" value="Submit"/> <br>
</form> 
</body>
</html>

1 个答案:

答案 0 :(得分:0)

可能是因为你有一个领先的&#39;}&#39;在第二个例子的代码中。

&#13;
&#13;
<script type='text/javascript'>

 } // <- this is going to cause a syntax error
 
 function validate()
{
   if( document.myForm.firstname.value == "" )
   {
     alert( "Please provide your first name!" );
     document.myForm.firstname.focus() ;
     return false;
   }
   return( true );
}

</script>
&#13;
&#13;
&#13;

尝试修复它并查看它是否有效。如果您在浏览器中运行,请检查JavaScript控制台是否有错误。