javascript - 表单验证某些输入必须彼此不同

标签 javascript forms

我在验证表单时遇到一些问题。 我想做的是检查某些输入字段是否相等,如果为真则停止表单输入。 像这样的事情:

<form id="myForm">
<input type="text" id="id1" />
<input type="text" id="id2" />
<input type="text" id="id3" />
<br/>
<input type="text" id="id4" />
<input type="text" id="id5" />
<input type="text" id="id6" />
...some other inputs (id7, id8, id9 - id10, id11, id12 - ...)
<p id="error" hidden="hidden">
Error
</p>
<input id="submit" type="submit" value="submit" />   
</form>

如果id1、id2、id3与id4、id5、id6的值相同(顺序相同),则必须停止表单输入。 id1、id2 和 id3 可以具有相同的值,并且 Id4 可以具有与 id1 相同的值,依此类推,但这三个一起(id1、id2、id3)不能具有相同的 id4、id5、id6 值。 例如错误是:

  • id1:一
  • id2:二
  • id3:三
  • id4:一
  • id5:两个
  • id6:三

所有其他情况都很好。

我正在尝试这样的事情:http://jsfiddle.net/g2kBm/283/但它不起作用。

最佳答案

http://jsfiddle.net/g2kBm/284/

您不需要 on模糊事件,因为您正在检查提交。另外,您需要检查是否 #1 == #4 AND #2 == #5 AND #3 == #6:

$('#myForm').submit(function (event) {
    var errors = false;
    if ($('#id1').val() == $('#id4').val() &&
        $('#id2').val() == $('#id5').val() &&
        $('#id3').val() == $('#id6').val()) {
            $("#error").show(); 
            errors = true;
    } else { 
      errors = false; 
      $("#error").hide();
    }
    if (error) {
      event.preventDefault();
    }
});

关于javascript - 表单验证某些输入必须彼此不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41259530/

相关文章:

javascript - 无法使用 console.table 打印数据

javascript - 在 Underscore 模板中获取 Backbone 集合的前 3 项

jquery - 使用 Jquery 重置表单

html - 如何从输入字段中删除 'autocomplete disabled'

html - 从 Uls 而不是 <select> 创建跨浏览器下拉列表

javascript - 如何使用 Q 保留对 promise 链的响应

php - Ajax、PHP、Javascript 在组合框选择后从数据库中提取值

javascript - 在 react 导航中刷新 contentComponent

html - 一个 HTML 标签和两个表单输入

javascript - 我如何使用 javascript 来验证在 DOM 上输出的电子邮件?