如何在HTML表单的表单字段之间添加约束?

时间:2013-07-01 11:16:01

标签: javascript jquery html5 forms

我想知道是否已经有一个框架或jquery插件可以用来为表单字段添加约束。在这种情况下使用“约束”我不想说字段x是一个电子邮件字段,需要进行验证,但我想定义表单字段之间的关系,如:

  • 如果在复选框A中选择了某些内容 - >> 启用按钮B
  • 如果在列表A中选择了至少X个条目 - > 启用表单字段B

依此类推......

我目前正在自己​​实施它,但我想确保我不重新发明轮子。

它可以是任何JavaScript框架(独立或jquery插件)。

3 个答案:

答案 0 :(得分:3)

为什么要插件?只需jQuery就可以轻松实现:

$('input.A:checkbox').change(function() {
    $('button.B').prop('disabled', !($(this).prop('checked'));
});
$('select.C').change(function() {
    $('button.D').prop('disabled', !($(this).find('option:selected').length >= 10));
});

我们只是为输入更改时发生的事件分配处理程序 - 我根据条件启用或禁用该字段。

我认为这比获取插件更好,因为:

  1. 您正在节省更多文件的HTTP请求
  2. 通过不加载更多JS代码来节省性能
  3. 现在这很简单,没有必要过度复杂化。
  4. See demo

答案 1 :(得分:1)

如果您使用类似淘汰赛的内容,您可以使用knockoutvalidation框架..或者,过去我曾使用jqbootstrapvalidation ...后者显然需要引导程序好。

这两个网站上都有不少代码示例。这两个框架都很容易使用。如果您需要任何更具体的帮助/建议,请随时对此帖发表评论。

只是一句警告。如果你确实使用淘汰赛。跟knockoutvalidation一起去,而不是自助验证...或者你会在不眠之夜试图让2好玩。

答案 2 :(得分:0)

这是一个你可以使用的jQuery插件: http://github.com/keyo/jQuery-Form-Dependency