【问题标题】:I try to validate my form before open my modal我尝试在打开我的模式之前验证我的表单
【发布时间】:2017-10-11 13:53:32
【问题描述】:

我尝试在打开我的模式之前验证我的表单。

但我的模式打开了,即使邮政编码为空。

https://jsfiddle.net/4yjjmbs6/1/

/* ==================== ZIP Code ==================== */

function maxLengthCheck(object) {
  if (object.value.length > object.maxLength)
    object.value = object.value.slice(0, object.maxLength);
}

function isNumeric(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode(key);
  var regex = /[0-9]|\./;
  if (!regex.test(key)) {
    theEvent.returnValue = false;
    if (theEvent.preventDefault) theEvent.preventDefault();
  }
}

【问题讨论】:

  • 我没有在您的代码中看到打开模式的调用。这是在哪里发生的?
  • 如果输入有效则启动模态的 validate() 函数
  • 所以你的问题根本不是模态的,它实际上是输入验证?
  • 是的,我的代码有问题。我想在打开模式之前检查两个输入。但无事可做我不知道该怎么做。

标签: javascript twitter-bootstrap modal-dialog


【解决方案1】:

在您的 JSFiddle 中,更改

if (validateEmail(email)) {
    $('#registration').modal('show');
}

if ($('#formNewsletter')[0].checkValidity()) {
    $('#registration').modal('show');
}

上述更改将验证表单字段并在所有字段都正确验证后返回true。希望这是你想要的。

【讨论】:

  • 哦,是的。谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-04-06
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-17
相关资源
最近更新 更多