使用FormData获取form元素表单数据和label radio的使用

将form元素传入FormData的构造函数可以创造出一个FormData对象,可以很方便地取到form元素内部各种表单控件的值。

使用input type="radio"的时候在外层包一个label元素,然后里面是input type="radio"和<span>解释文字</span>,这时外层的label元素不需要指定for属性的值,点击外层label元素时会自动实现for属性的功能,一般的做法是分开写一个label元素然后for属性指向radio的id,这样的话需要指定很多意义不大的id,使用label元素包裹的做法可以省掉这一步骤,配合FormData api很方便可以将radio的值取出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 动态数据获取可以通过以下两种方式实现: 1. 双向绑定:在 Vue 中,可以使用 `v-model` 指令实现数据的双向绑定。在动态中,可以将元素的值绑定到 Vue 实例中的数据属性上,这样当元素的值发生变化时,对应的数据属性也会自动更新。同时,当数据属性的值发生变化时,元素的值也会自动更新。 示例代码: ```html <template> <div> <form> <div v-for="(item, index) in formItems" :key="index"> <label>{{ item.label }}</label> <input v-model="formData[item.name]" :type="item.type"> </div> </form> <button @click="submit">提交</button> </div> </template> <script> export default { data() { return { formItems: [ { label: '姓名', name: 'name', type: 'text' }, { label: '年龄', name: 'age', type: 'number' }, { label: '性别', name: 'gender', type: 'radio', options: [{ label: '男', value: 'male' }, { label: '女', value: 'female' }] }, ], formData: {}, } }, methods: { submit() { console.log(this.formData) // 输出数据 } } } </script> ``` 2. 提交:在提交时,可以通过元素的 `name` 属性来获取数据。在 Vue 中,可以通过 `ref` 属性来获取元素的引用,然后在提交时,通过引用获取元素的值。 示例代码: ```html <template> <div> <form ref="form"> <div v-for="(item, index) in formItems" :key="index"> <label>{{ item.label }}</label> <input :name="item.name" :type="item.type"> </div> </form> <button @click="submit">提交</button> </div> </template> <script> export default { data() { return { formItems: [ { label: '姓名', name: 'name', type: 'text' }, { label: '年龄', name: 'age', type: 'number' }, { label: '性别', name: 'gender', type: 'radio', options: [{ label: '男', value: 'male' }, { label: '女', value: 'female' }] }, ], } }, methods: { submit() { const formData = {} const form = this.$refs.form for (let i = 0; i < form.length; i++) { const input = form[i] if (input.name) { formData[input.name] = input.value } } console.log(formData) // 输出数据 } } } </script> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值