首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vue-cli中自动提交表单?

如何在vue-cli中自动提交表单?
EN

Stack Overflow用户
提问于 2020-07-04 15:11:03
回答 2查看 1.4K关注 0票数 2

当页面加载时,我想提交一个隐藏的表单。由于表单是隐藏的,所以我不能使用提交按钮。那么,当页面以vuejs加载时,我如何自动提交表单呢?

代码语言:javascript
复制
<template>
  <div v-html="this.paymentResponse"></div>
</template>

<script>
import EventBus from '../../event-bus'

export default {
    data() {
        return {
            paymentResponse: null
        }
    },
    mounted() {
        console.log('mounted')
        this.$refs.submitBtn.click();
    },  
    beforeCreate() {
        EventBus.$on("payment", response => {
            this.paymentResponse = response
        })
    }
}
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-04 15:33:17

您可以在mounted上触发submit按钮,如下所示:

代码语言:javascript
复制
new Vue({
     el: '#sg1',
     mounted(){
          this.$refs.submitBtn.click();
     },
     methods:{
          formSumitted(){
               console.log("submitted");
          }
     }
})
代码语言:javascript
复制
<script src="https://unpkg.com/vue/dist/vue.min.js"></script>
<div id="sg1">
    <form style="display:none" v-on:submit.prevent="formSumitted">
         <button type="submit" ref="submitBtn">Submit</button>
    </form>
</div>

更新:

由于表单是使用v-html传递和呈现的,所以我认为您不能使用ref。因此,您可以用id替换它,并使用vanillla函数单击按钮:

代码语言:javascript
复制
document.getElementById("submitBtn").click();
票数 0
EN

Stack Overflow用户

发布于 2020-07-04 15:23:50

vue组件有一个lifeCycle,您可以使用“创建”或“挂载”方法在应用程序开始时提交表单。

代码语言:javascript
复制
new Vue({
  data: {
    formData: 'some data'
  },
  created: function () {
    // here your code for submit the form
    
  }
})
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62730821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档