2009-10-26 174 views
2

我有一个表格,有大约10文本项(用户,地址,电子邮件等)领域的X个 和大约50 +条目是数量的条目(用户选择该项目的2倍,这个项目的5倍)。的Javascript验证HTML表单

现在我从别人那里继承了这个表格(现在我的责任是保持它最新,当客户要求时)。

我不想重新编写所有内容,但我想为数量字段添加验证。

现在数量栏都被命名为不同的东西(B1,C55,d,12)

基本上我想编写一个脚本(但不知道如何寻找这一点,或者做到这一点) JS方面,这将忽略我知道的标签(用户,地址,电子邮件等),但检查其他人是否是数字(空 - 不选,或1-99)

+0

你可以添加脚本引用到那里的任何JavaScript库吗?例如jQuery? – 2009-10-26 19:23:37

+0

引用js库会有什么意义?我不使用这个表单。但如果有人想在他们的建议中使用一个,我会欢迎它。但是我不明白它将如何澄清我的问题。 – Jakub 2009-10-26 19:24:53

+0

@Jakub:我没有要求你澄清任何事情,只是要求那些可能使用特定库的解决方案。 – 2009-10-26 19:30:49

回答

2

class应用到元素代码使用类check)像这样:

<input type="text" name="b1" class="check" />

和以下jQuery代码,它们只会用check类检查那些元素。

$('#myformid').submit(function(){ 
    $(':input.check').each(function(){ 
     field = $(this); 
     valInt = parseInt(field.val()); // value as an integer 

     if (isNaN(valInt) || (valInt < 1 || valInt > 99)) // displays an error if the val is < 1 or > 99 
      alert('Error in the field ' + field.attr('name') + ': must be number from 1-99'); // change this to whatever you want the form to do if there's an error 
    }); 
}); 

基本上这是什么做的是以下几点:表单提交时,它会通过每个字段,你想它想(表示:input.class赶上与正确类的每个字段),并检查它是否(一)一个数字,以及(b)小于1或大于99.如果它是一个数字并且超出范围,它会向用户发出错误提示。您可以将alert()通知更改为您希望表单拥有的任何错误管理。

+0

@Josh Leitzel:但是,如果我不想定义每个名字?我有50多个参赛作品,我不在乎他们的名字,我只是想确保他们是1-99,或者是空的。由于这些值每周都在变化,我不想继续更新这个脚本。所以我需要jQuery来浏览所有的表单元素?我将如何实现这一目标?我的照片是像数组一样循环播放的,忽略“已知”(电子邮件,第一个,最后一个等)。如果我不太清楚,请注意一下。 – Jakub 2009-10-26 19:45:30

+0

对不起。您可以使用CSS类轻松完成您想要做的事情。我相应地编辑了我的答案。 – 2009-10-26 19:55:26

+0

啊,聪明。我甚至没有想过要按班上课。非常感谢你! – Jakub 2009-10-26 19:59:21