2017-07-26 27 views
0

假設我有以下表單。有沒有更好的方法來發送URL中的輸入值,如示例「indication_effects/+ MY_VALUE」,並去掉參數指示= MY_VALUE?提交表單並在URL中添加輸入,而不是參數

也許有可能與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

這與Django無關。您可以使用純Javascript或JQuery來完成它。 – Selcuk

+0

當然,但看起來很醜。 – ddomingo

回答

0

看,GET要求總是將通過URL發送表單數據和POST要求總是將通過請求頭髮送表單數據。

它看起來不漂亮,但它是它的工作方式。

但是,你可以用Vue.js做一些很好的事情來得到你想要的東西。

無視你的形式action,從<button>改變你的提交按鈕<a>並建立其href動態,你可以「提交」利用你的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框架,我非常喜歡它。

相關問題