仅当表单输入存在时才显示ShowModal

时间:2017-01-06 17:07:20

标签: jquery

我有这个属性赋值:

$("form")
    .attr("enctype", "multipart/form-data")
    .attr("encoding", "multipart/form-data")
    .attr("onsubmit", "startProgressBar();showModal();");

我想做什么,如果是,不要做showModal() $("form").find("input.form-control").length == 0

我该怎么做?

2 个答案:

答案 0 :(得分:0)

在条件下添加:

var $form = $("form");
$form
    .attr("enctype", "multipart/form-data")
    .attr("encoding", "multipart/form-data");
if ($form.find("input.form-control").length == 0){
    $form.attr("onsubmit", "startProgressBar();");
} else {
    $form.attr("onsubmit", "startProgressBar();showModal();");
}

答案 1 :(得分:0)

使其成为条件,如下:

//Default submit actions
var submitActions = "startProgressBar();";

//Add showModal(); if there's an input
if ($("form input.form-control").length) {
    submitActions += "showModal();";
}

$("form")
    .attr("enctype", "multipart/form-data")
    .attr("encoding", "multipart/form-data")
    .attr("onsubmit", submitActions);

我已删除find,因为我相信只有更具体的选择器更有效率。就方法论而言,我创建了一个字符串变量来存储onsubmit事件。如果有输入,则showModal();会添加到事件中。然后我们在.attr

中使用它