追加形式的行动我有它的作用是与输入变量
<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