假设我有以下表格。是否有更好的方法在URL中发送输入值,如示例“indication_effects/+MY_VALUE
”中所示,并删除参数indication=MY_VALUE
?
也许可以用Django来做,或者我应该只使用django表单?
谢谢,
<form id="indication-form" class="form-horizontal" method="get">
<div class="form-inline">
<div class="col-md-8">
<input type="text" class="form-control" id="indication-input" name="indication" />
<button class="btn btn-primary" type="submit" id="indication-submit">Submit</button>
</div>
</div>
</form>
var indicationForm = $('#indication-form');
$("#indication-submit").on("click", function () {
indicationForm.attr("action", "indication_effects/" + $("#indication-input").val());
indicationForm.submit();
});
答案 0 :(得分:0)
看,GET
请求始终将通过网址发送表单数据,POST
请求始终将通过请求发送表单数据头。
它可能看起来不漂亮,但它的工作方式。
然而,您可以使用Vue.js做一些不错的事情来获得您想要的效果。
忽略您的表单action
,将提交按钮从<button>
更改为<a>
并动态构建其href
,您可以&#34;提交&#34;您的表单使用HTML上的表单数据。
这样的事情:
<div id="app">
<form id="indication-form" class="form-horizontal" method="post" action=".">
<div class="form-inline">
<div class="col-md-8">
<input type="text" class="form-control" id="indication-input" name="indication" v-model="indication" />
<a :href="getUrl" class="btn btn-primary" id="indication-submit">Submit</a>
</div>
</div>
</form>
</div>
<script src="//unpkg.com/vue"></script>
<script type="text/javascript">
new Vue({
el: '#app',
data: {
indication: '' // Link all your form fields with v-model here
},
computed: {
getUrl: function() {
return '/' + this.indication + '/'; // Build your url
}
}
});
</script>
Vue.js是一个功能强大且简单的Javascript框架,我非常喜欢它。