Javascript表单验证,缺少什么?

Javascript表单验证,缺少什么?,javascript,forms,validation,Javascript,Forms,Validation,不管我怎么做,我都无法得到一个要验证的表单,所以我把它简化了很多,看看我是否能得到任何可以工作的东西,但当我提交表单时,javascript仍然无法验证,并且不管发生什么,都会将我发送到下一页。你们有什么不对劲吗 HTML 名字太短 头中的JAVASCRIPT <script language="JavaScript" type="text/javascript"> function Validate() { if (form.name.value == "")

不管我怎么做,我都无法得到一个要验证的表单,所以我把它简化了很多,看看我是否能得到任何可以工作的东西,但当我提交表单时,javascript仍然无法验证,并且不管发生什么,都会将我发送到下一页。你们有什么不对劲吗

HTML


名字太短
头中的JAVASCRIPT

<script language="JavaScript" type="text/javascript">
   function Validate() {
      if (form.name.value == "") {
         $('#error').show();
         return false ;
       }
      return true ;
   }
</script>

函数验证(){
如果(form.name.value==“”){
$(“#错误”).show();
返回false;
}
返回true;
}
在CSS中,我将#error div的显示设置为none。
最后,我想检查用户是否在文本输入字段中输入了至少4个字符,如果他们没有输入,那么我不希望表单提交,而是显示错误消息。但现在我只是想看看它是否是空的,看看我是否能找到任何工作。有什么想法吗

为标记定义ID,并使用jQuery获取这些标记并检查它们的值。例如,如果名称标记具有id=“form\u name”,则可以执行以下操作:

if ($("#form_name").val() == ""))
    $('#error').show();
另一方面,我建议您检查jQuery验证插件,它非常适合验证表单:


首先,从脚本标记中删除
语言
,它已被弃用。 然后,您不应该在
头部
部分加载脚本。相反,将其放在
body
结尾处,以确保已加载HTML

此外,在验证函数中,您似乎没有实际针对正确的ID

使用以下命令:

function Validate() {
  if ($('#form_name').val() === '') {
    $('#error').show();
    return false ;
  }
   return true ;
}

为此替换您的javascript

function Validate() {
    // Use form_name instead of form.name
    if (form_name.value == "") {
      // This line will break if you do not have jquery.
      $('#error').show();
    return false ;
  }
  return true ;
}
而不是

if (form.name.value == "") {
使用:


让我知道这是否有效。

您好,form.name.value的值可能未定义,您还必须检查是否定义了form.name?好的,您介意给我一个如何定义它的示例吗?我来这里问是因为我不知所措。我是一个javascript新手,我在谷歌的所有搜索都没有得到任何解决方案。。。事实上,我已经找到了很多解决方案,但到目前为止没有任何效果。您使用的是
form.name
,但您输入的id是
form\u name
。好的,我做了这些更改,但仍然不起作用。使用
val()
而不是
val
。好的,我尝试了所有这些更改,它仍然提交并发送到下一页,还没有解决。谢谢你的帮助,还有其他想法吗?这怎么可能不起作用呢lol@RandyC你为什么要服从“/”?这是一个真实的页面吗?它适用于我给定的OP html和这个javascript。这只是一个例子,我把它提交到一个单独的页面。
if (form.name.value == "") {
var nameField=document.getElementById("form_name");
if (nameField.value == "") {