2010-12-14 114 views
1

我在我的窗体中有动态文本框。我喜欢使用bassistance jquery插件进行验证。使用jquery动态文本框验证

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

我的文本框的名字是在阵列甲设置[],如何表示的规则和信息

<input type="text" name="setting[]"> 

我的验证脚本

<script type="text/javascript"> 
$("#freebidz_frm").validate({ 
    rules: { 
     setting:{ 
      required: true 
      } 
    }, 
    messages: { 
     setting: '<br>'+"Please enter Default Font Style"+'' 
    }}); 
</script> 

但它的不工作...有人帮助我!在此先感谢

回答

2

尽管别人在说什么,但在输入名称中包括方括号(但对ID无效)是有效的(并且很有用)。大多数服务器端语言将把它们作为一个数组来处理,这在编写处理过程中可以为您节省大量时间。

至于你的脚本,有两点在那里它可能是想错了:

  1. 确保验证脚本被包裹在jQuery的$(文件)。就绪(函数(){...}) ; (我假设你在你的完整脚本中有)
  2. 在任何特殊字符的情况下,尝试将输入名称(包括方括号)用引号括起来。

我已将您的代码复制到新的HTML页面,并且验证脚本在我做出这两项调整时正常工作。只要确保在脚本的'规则'和'消息'部分中将'setting'包含在引号中即可。

由于您是从输入创建数组,因此我假设这不是表单中唯一的'setting []'。如果是这样的话,你就必须要有一点奇特 - 创建类规则可以帮助你验证基于普通类的一组输入(http://docs.jquery.com/Plugins/Validation/Validator/addClassRules) 。