반응형
모든 입력 값 가져오기 - Vuejs
나는 여러 개를 가지고 있다.input
단순 VueJs 애플리케이션의 요소하지만 나는 요소를 가지고 있지 않고 형성한다.이제 모든 입력 값을 한 번에 가져와 서버 측 [래블]에 전송하여 처리하시겠습니까?
<div>
<input v-model="foo-bar" placeholder="edit me">
<input v-model="bar-foo" placeholder="edit me">
<input v-model="foo-foo" placeholder="edit me">
<input v-model="bar-bar" placeholder="edit me">
</div>
<div>
<input type="button" @click="getAllData">Send</input>
</div>
getAllData(){
// I have no idea how to get all at once!
}
예를 들어 모든 것을 편리한 형태 객체에 보관하는 것은 어떨까?
new Vue({
el: '#app',
data: {
form: {} // create an object to hold all form values
},
methods: {
getAllData() {
console.info(this.form)
// axios.post('/some/url', this.form)
}
}
})
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<div id="app">
<div>
<input v-model="form['foo-bar']" placeholder="edit me">
<input v-model="form['bar-foo']" placeholder="edit me">
<input v-model="form['foo-foo']" placeholder="edit me">
<input v-model="form['bar-bar']" placeholder="edit me">
</div>
<div>
<button type="button" @click="getAllData">Send</button>
</div>
</div>
데모에서 볼 수 있듯이 참조만 하면 된다.this.form
모든 가치에 대해
<form v-on:submit.prevent="getAllData" id="frm">
<input name="input1" placeholder="edit me">
<input name="input2" placeholder="edit me">
<input name="input3" placeholder="edit me">
<input name="input4" placeholder="edit me">
<input type="submit" >Send</input>
</form>
<script>
....
//your method parts
methods:{
getAllData(){
let myForm = document.getElementById('frm');
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);
},
}
....
<script>
Vues에 입력 바인딩data
옵션:
new Vue({
el: "#app",
data: {
myArray: [null, null, null, null]
},
methods: {
getAllData() {
console.log(this.myArray)
// send to server
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div>
<input v-for="(arr, index) in myArray" v-model="myArray[index]" @key="index" placeholder="edit me">
</div>
<div>
<button type="button" @click="getAllData">Send</button>
</div>
</div>
참조URL: https://stackoverflow.com/questions/54885894/get-all-input-values-vuejs
반응형
'IT이야기' 카테고리의 다른 글
Python의 dritt.keys()는 왜 집합이 아닌 목록을 반환하는가? (0) | 2022.03.10 |
---|---|
Vue Js - v-for X time(범위 내)을 통한 루프 (0) | 2022.03.10 |
BootstrapVue 회전목마에 이미지를 포함하려면 어떻게 해야 하는가? (0) | 2022.03.10 |
가져오기 오류: 모듈 이름 urllib2 없음 (0) | 2022.03.10 |
비활성화된 버튼에 Vuetify 도구 설명 표시 (0) | 2022.03.10 |