验证后,Bootstrap Modal不起作用,但警报有效

时间:2018-06-08 14:56:45

标签: javascript jquery twitter-bootstrap forms validation

我在bootstrap 4中有一个预览按钮。如果表单无效,我想显示验证错误,如果表单有效,则显示模态窗口。

我有这段代码。

    $("#previewBtn").click(function(event) {
    //$("#exampleModal").modal("show");  //Works fine if I uncomment

    //Fetch form to apply custom Bootstrap validation
    var form = $("#order-form")
    //alert(form.prop('id')) //test to ensure calling form correctly

    if (form[0].checkValidity() === false) {
      event.preventDefault();
      event.stopPropagation();
    } else {
        //alert("Validated!");
        $("#exampleModal").modal("show");   
    }
    form.addClass('was-validated'); 
  }) //validation end

如果表单无效,我会收到验证错误。

如果我取消注释第二行以显示模态,我会得到模态窗口。

但如果验证中没有错误,则模式窗口在else中不起作用。

如果验证中没有错误,则alert(上面显示模式)在else中有效。

如果没有验证错误,如何显示模态窗口?

2 个答案:

答案 0 :(得分:0)

在jQuery中,显示元素的一种简单方法是使用.show()方法

前:

$("#exampleModal").show();

在这里,您可以找到有关.show()http://api.jquery.com/show/

的文档

希望有所帮助

答案 1 :(得分:0)

我检查表单变量的值。如果它在位置1而不是在else中工作那么它会让我认为checkValidity()要么返回true,要么if语句抛出异常。

也许可以在;

中添加var form