【发布时间】:2018-05-21 13:40:09
【问题描述】:
我浏览了文档并尝试了以下代码。我能够获得enquiryDesc 的数据,但获得评级的空值。我尝试了几个步骤并获得了空值。
我的html表单是
<form id="enquiryBox" method="POST" onSubmit="return false;" data-parsley-validate="true" v-on:submit="handelSubmit($event);">
<div class="modal-body brbottom-20">
<div class="clearfix">
<div class="col-lg-6">
<div class="form-group required">
<fieldset class="rating">
<input v-model="rating" type="radio" id="rating" name="rating" v-bind:value="5" ><label v-bind:value="5" class = "full" for="star5" title="Awesome"></label>
<input v-model="rating" type="radio" id="rating" name="rating" v-bind:value="4" ><label v-bind:value="4" class="half" for="star4half" title="Pretty good"></label>
</fieldset>
</div>
</div>
<div class="col-lg-6">
<div class="form-group required">
<label>Enquiry</label>
<textarea placeholder="Write your enquiry here" rows="7" id="enquiryDesc" name="enquiryDesc" class="form-control required" title="Desc" v-model="enquiryDesc" required="required"></textarea>
</div>
</div>
</div>
</div>
<div class="">
<button id="btn-submit-enquiry" class="btn whiteButton" type="submit">Post Enquiry</button>
</div>
</form>
我的vue js脚本是as
enquiryBox = new Vue({
el: "#enquiryBox",
data: {
rating: '',
enquiryDesc: '',
},
methods: {
handelSubmit: function(e) {
var vm = this;
data = {};
data['rating'] = this.rating;
data['enquiryDesc'] = this.enquiryDesc;
console.log(data);
$.ajax({
url: 'https://api/post/add_review/',
data: data,
type: "POST",
dataType: 'json',
success: function(e) {
if (e.status) {
alert("Success")
} else {
vm.response = e;
alert(" Failed")
}
}
});
return false;
}
},
});
我对@987654325@的回复
{rating: '', enquiryDesc: "cghjl,./"}
我用过v-model 和v-bind:value,现在我不是价值观。我真的被这些困住了。有什么东西没有初始化吗?请帮助我找到解决方案。我已经阅读了几个教程,并且所有内容都以相同的方式进行。
【问题讨论】:
-
删除单选按钮值上的
v-binds,除非您在 Vue 实例中引用computed或data属性,否则不需要这样做。或尝试将数字或布尔值作为道具传递。 -
我删除 v-bind 仍然得到相同的结果
-
这里,这应该有帮助,我已经删除了你的
v-binds:jsfiddle.net/dw36bd5n -
不,先生,我不上班了
-
在该示例中,单选按钮值正确绑定到值数据属性。您是否预计会发生其他事情,或者您是否遇到错误?
标签: javascript vue.js vuejs2 vue-component vue-router