追加形式的行動我有它的作用是與輸入變量
<form action="/food/vegetable" method="POST" >
我的控制方法以植物名作爲參數
我想輸入蔬菜名稱附加到該動作的形式。 例如
<form action="/food/vegetable/{vegetableName}" method="POST" >
有沒有可能這樣做?或者,還有更好的方法 ?請指導。
追加形式的行動我有它的作用是與輸入變量
<form action="/food/vegetable" method="POST" >
我的控制方法以植物名作爲參數
我想輸入蔬菜名稱附加到該動作的形式。 例如
<form action="/food/vegetable/{vegetableName}" method="POST" >
有沒有可能這樣做?或者,還有更好的方法 ?請指導。
因爲你與POST方法發送數據,把這個隱藏字段插入到表單中:
$vegetableName = $request->vegetableName;
您可以使用jQuery:
<input type="hidden" name="vegetableName" value="{{ $vegetableName }}">
然後你就可以在控制器中獲取此數據提交活動。
$('form').submit(function(e){
e.preventDefault();
var veg = $("#INPUTBOX_ID").val();
location.href = "/food/vegetable"+veg;
});
無論你想要什麼,你都可以處理蔬菜的價值。
給你的表單一個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>
當然你可以這樣做。儘管如此,請查閱[Laravel Documentation](https://www.laravel.com/docs/5.3/routing#named-routes) –
中的「命名路線」,強烈推薦命名路線。這爲路由模式增加了一層抽象,所以如果你改變它的終點,你只需要將它改變一個地方。 – Ohgodwhy