Meine Ansicht Klinge Laravel wie folgt aus:Wie schicke ich ein Formular mit vue.js 2?
<form slot="search" class="navbar-search" action="{{url('search')}}">
<search-header-view></search-header-view>
</form>
Die Laravel Anruf vue Komponentensicht Klinge (Suche-header-View-Komponente)
Meine vue Komponente (search-header-view-Komponente) wie folgt aus:
<template>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" autofocus v-model="keyword">
<span class="input-group-btn">
<button class="btn btn-default" type="submit" id="submit-search"><span class="fa fa-search"></span></button>
</span>
<ul v-if="!selected && keyword">
<li v-for="state in filteredStates" @click="select(state.name)">{{ state.name }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: 'SearchHeaderView',
data() {
return {
baseUrl: window.Laravel.baseUrl,
keyword: null,
selected: null,
filteredStates: []
}
},
watch: {
keyword(value) {
this.$store.dispatch('getProducts', { q: value })
.then(res => {
this.filteredStates = res.data;
})
}
},
methods: {
select: function(state) {
this.keyword = state
this.selected = state
document.getElementById('submit-search').submit()
},
input: function() {
this.selected = null
}
},
}
</script>
ich möchte das Formular abzuschicken, wenn der Benutzer das Stichwort klicken
ich document.getElementById versuchen ('submit-Suche'). einreichen()
Aber auf der Konsole vorhanden sind Fehler wie folgt aus:
TypeError: document.getElementById(...).submit is not a function
Wie kann ich lösen diesen Fehler?
Haben Sie den Ereignis-Listener versucht, die bereitgestellt vue '@submit '? anstelle von ': action'? –
@John Rey M. Baylen, aktualisiere ich meine Frage. Also Formular aus der Komponente –