简体   繁体   English

隐藏并显示引导面板后Vue.js表单提交不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM