2016-08-29 61 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>