[英]Vue.js form submit doesn't work after hide and show a bootstrap panel
I've 3 bootstrap panels
that are shown depending on the value of the select
that we choose: 我根据所
select
的值显示了3个bootstrap panels
:
<div class="panel panel-default">
<Select/>
</div>
<div class="panel panel-default" v-if="fileMode == 0"></div>
<div class="panel panel-default" v-else-if="fileMode == 1"></div>
<div class="panel panel-default" v-else>
<div class="form" id="uploadCsvForm"/>
</div>
js: js:
mounted() {
var self = this;
this.$nextTick(() => {
$("#uploadCsvForm").submit(function(e) {
e.preventDefault();
self.uploadCsvAndGetData();
return true;
});
});
},
So after hide and show the panel that has the form, the $("#uploadCsvForm").submit(function(e)
doesn't work anymore... Do you know why? 因此,在隐藏并显示具有该表单的面板之后,
$("#uploadCsvForm").submit(function(e)
不再起作用...您知道为什么吗?
Thank you 谢谢
It's because the div
is removed and the event handler binding is lost. 这是因为
div
被删除并且事件处理程序绑定丢失了。 Try not to mix Vue with jQuery. 尽量不要将Vue与jQuery混合使用。 Something like this would be better:
这样的事情会更好:
<div class="panel panel-default">
<Select/>
</div>
<div class="panel panel-default" v-if="fileMode == 0"></div>
<div class="panel panel-default" v-else-if="fileMode == 1"></div>
<div class="panel panel-default" v-else>
<div class="form" @submit="uploadCsvAndGetData"/>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.