vue自动提交表单_vuejs 动态提交form表单问题

通过v-for动态循环某个对象,添加隐藏的元素到form中,然后通过 document.getElementById('form').submit()来提交,此时发现另一个页面接收不到参数。

而通过document.createElement('input')方式创建的元素就可以接收到参数。

最奇怪的是,无论是v-for还是document.createElement()方式都能通过console.log(form)看到里面的内容。仅仅是一个能接收到参数一个接收不到。

难道v-for创建的表单不能通过document.getElementById('form').submit()方式来提交?

v-for 方式

this.formData = data.data;

let form = document.getElementById('cgForm');

console.log(form); // form中的元素都在, 可就是接收不到form中任何东西, 且提交时action也是 '/' 并不是设置好的url

form.submit();

普通form表单

this.formData = data.data;

let form = document.getElementById('cgForm');

for(let p in this.formData){

if(p != 'url'){

let input = document.createElement('input');

input.setAttribute('name', p);

input.setAttribute('value', this.formData[p]);

form.append(input);

}

}

form.action = data.data.url;

form.submit();

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值