2016-08-29 77 views
0

追加形式的行動我有它的作用是與輸入變量

<form action="/food/vegetable" method="POST" > 

我的控制方法以植物名作爲參數

我想輸入蔬菜名稱附加到該動作的形式。 例如

<form action="/food/vegetable/{vegetableName}" method="POST" > 

有沒有可能這樣做?或者,還有更好的方法 ?請指導。

+1

當然你可以這樣做。儘管如此,請查閱[Laravel Documentation](https://www.laravel.com/docs/5.3/routing#named-routes) –

+0

中的「命名路線」,強烈推薦命名路線。這爲路由模式增加了一層抽象,所以如果你改變它的終點,你只需要將它改變一個地方。 – Ohgodwhy

回答

0

因爲你與POST方法發送數據,把這個隱藏字段插入到表單中:

$vegetableName = $request->vegetableName; 
0

您可以使用jQuery:

<input type="hidden" name="vegetableName" value="{{ $vegetableName }}"> 

然後你就可以在控制器中獲取此數據提交活動。

$('form').submit(function(e){ 
    e.preventDefault(); 
    var veg = $("#INPUTBOX_ID").val(); 
    location.href = "/food/vegetable"+veg; 

});

無論你想要什麼,你都可以處理蔬菜的價值。

0

給你的表單一個ID,然後在JS中,你可以寫下面的代碼。

如果收到蔬菜PARAM的形式(例如,路徑/到/表?蔬菜=胡蘿蔔),您可以使用下面的函數來獲得帕拉姆名稱的URL參數

function getParameterByName(name) { 
 
    url = window.location.href; 
 
    name = name.replace(/[\[\]]/g, "\\$&"); 
 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
 
     results = regex.exec(url); 
 
    if (!results) return null; 
 
    if (!results[2]) return ''; 
 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
 
} 
 
var vegetable = getParameterByName("vegetable"); 
 
document.getElementById("myForm").action = "/food/vegetable/"+vegetable;
<form id="myForm" action="/food/vegetable/{vegetableName}" method="POST" > 
 
</form>