【发布时间】:2022-01-24 01:36:17
【问题描述】:
我经常需要调试我的表单输入
我讨厌不得不做这个又大又长而且有时会丢失 vars ...
console.log(this.type, this.name, this.url, this.timezone, this.startDate, this.endDate, this.startTime, this.endTime, and 10 more variables .... )
有没有办法 console.log(表单中的所有输入)?
我试过了
getAllData(id) {
let myForm = document.getElementById(id)
let formData = new FormData(myForm)
const data = {}
// need to convert it before using not with XMLHttpRequest
for (let [key, val] of formData.entries()) {
Object.assign(data, { [key]: val })
}
console.log(data)
},
然后这样称呼它:
this.getAllData('form')
我在控制台中得到了这个
我无法理解它的任何意义......
试试#2
我试过了
getAllData(id) {
let myForm = document.getElementById(id)
console.log(
Array.from(myForm.elements).map((e) => {
return e.value
})
)
},
我现在得到了更好的结果,但我希望看到键和值。
这就是我现在看到的......(只有价值)
【问题讨论】:
-
据我所知这是不可能的,但你可以做的是在一个对象中定义你的所有输入。所以你可以像这样记录你的对象
console.table(this.formData) -
刚刚看到您的编辑,您不应该使用
document.getElementById并抓取表单,相反,您应该使用模型,如果您真的必须使用它然后将Object.assign(data, { [key]: val })换成this.$set(this.form.values, key, value)分配给模型
标签: javascript vue.js vuejs2 vue-component vuetify.js