代码之家  ›  专栏  ›  技术社区  ›  Fortega

jQuery验证帮助

  •  2
  • Fortega  · 技术社区  · 17 年前

    我需要帮助验证表单,最好使用jquery:

    这是我的代码:

    <form action='index.php' method='post'> 
    <table> 
    <tr> 
      <td>1.</td> 
      <td><select name='from_1'><option>HOME</option><option>A</option><option>B</option><option>C</option></select></td> 
      <td><select name='to_1'><option>HOME</option><option>A</option><option>B</option><option>C</option></select></td> 
    </tr> 
    <tr> 
      <td>2.</td> 
      <td><select name='from_2'><option>HOME</option><option>A</option><option>B</option><option>C</option></select></td> 
      <td><select name='to_2'><option>HOME</option><option>A</option><option>B</option><option>C</option></select></td> 
    </tr> 
    <tr> 
      <td>3.</td> 
      <td><select name='from_3'><option>HOME</option><option>A</option><option>B</option><option>C</option></select></td> 
      <td><select name='to_3'><option>HOME</option><option>A</option><option>B</option><option>C</option></select></td> 
    </tr> 
    </table> 
    <input type='submit' value='submit' /> 
    </form>
    

    我想添加一些javascript 验证 :
    当有人单击“提交”按钮时,应该验证表单(见下文)。
    当它无效时,应弹出一条错误消息(警报或更好的模式对话框),并且不应提交表单。

    验证:
    每一行(在本例3中,可以是更多行)都应该包含一个且只能包含一次“Home”选择。所以“从”或“到”选项应该在家中。

    有人能帮我吗?我知道这很具体,但对我有很大帮助…

    5 回复  |  直到 17 年前
        1
  •  2
  •   Zachary    17 年前

    您看过jquery验证插件了吗? http://bassistance.de/jquery-plugins/jquery-plugin-validation/ ?它非常容易调整,并且基于向元素添加类(例如class=“required”)。

        2
  •  2
  •   Marcin Obel    16 年前

    我写了一篇题为 "Metadata based validation with jQuery" 包括这个主题。此外,还有一些示例代码显示了如何在清晰的HTML中使用它(下载位于底部)。

        3
  •  1
  •   Boris Guéry    17 年前

    看看 jQuery Validation plugin ,那么您应该能够使用接受CSS选择器的equalsto方法。

        4
  •  0
  •   shazarre    17 年前

    你给每一个选择一个类,即“验证”:

    <select name='from_2' class="validate">
    

    然后编写一个函数来遍历每一个这样的元素,这些元素最初将某个布尔变量设置为false,当它在值中找到“home”时,它会将该变量设置为true。当它再次找到“家”时,它会做你想要的。

    但是,老实说,不要依赖于客户端验证。

        5
  •  0
  •   Fortega    17 年前

    jquery验证插件太大,现在无法处理:)

    我自己解决了…看见 the link