变更时忽略jQuery表单提交功能

时间:2017-12-07 17:36:58

标签: javascript jquery html

我试图在另一个html元素被更改时在表单提交上执行一个函数。但是,我的表单提交中的函数似乎被忽略了。

$("element1").change(function(){
    alert("Works!");
    $("#form").submit(function() {
        console.log("Submitted!");
    });
});

"工作!"警报显示但由于某种原因它不会打印"已提交!"到控制台,我不确定为什么。如果表单由另一个元素触发,则可以在表单提交中执行该功能吗?#34; .change"事件?提前谢谢。

编辑:我忘了提及,我需要我的代码在此字段更改时调用表单提交。最终,我让用户上传了一个csv,然后在从文件资源管理器中选择后,它会提交表单。我也希望在文件上传后让用户保持在同一页面上。

1 个答案:

答案 0 :(得分:2)

您所要做的就是像这样触发提交功能

$("#form").submit();//Triggers the submit function.

但是,您编写的代码不是写入它的写入方式。每次更改元素时,您都不希望将提交事件绑定到表单。 所以它可以改写为

/*In this case the event binding happens only once*/
$("#form").submit(function() {
    console.log("Submitted!");
});
/*Now simply trigger it when the element is changed*/
$("element1").change(function() {
    alert("Works!");
    $("#form").submit();
});

为了清楚了解,请查看此fiddle