2017-02-16 68 views
1

我想仅将具有两个字段的表单的一个字段的值作为路由参数用于控制器。到目前为止,我所获得的仅仅是一些附加到url的查询字符串参数。如何将表单数据作为路由参数传递给Laravel 5.2

我的形式:

{{ Form::open(['route' => ['anuncio.especificar_tipo_imovel', $valorCep = 'valorCEp'], 'method' => 'GET']) }} 
    <input type="hidden" value="14405024" id="valorCep" name="valorCep"/> 
    <label for="tbCep"/> 
     <input autocomplete="off" id="tbCep" style="width:400px;" name="cep" type="text" /> 
    </label> 
    <input type="submit" value="continuar"> 
{{ Form::close() }} 

我有这样的路线:

Route::get('anuncio/especificar_tipo_imovel/{valorCep}', [ 
    'as' => 'anuncio.especificar_tipo_imovel', 
    'uses' => '[email protected]_tipo_imovel' 
]); 

像这样

public function especificar_tipo_imovel(Request $request, $valorCep) 
{ 
    return view('especificar_tipo_imovel'); 
} 

我要发送的值操作方法是价值隐藏字段:valorCep 我想要一个网址,如 http://my_route/34834839 数字是隐藏字段的值和$valorCep路由参数。

我的网址是这样的:

http://my_route/valorCEp?valorCep=14405024&cep=Rua++jardim+pedreiras14405024 
+0

$ XXXX = $请求 - > valorCep;你可以像这样使用 – Sona

+0

我的问题是不能获取控制器中的值。我的问题是网址格式。 –

+0

对不起,没有得到你想要的? – Sona

回答

0

请注意,您在使用该文本 'valorCep' 的视图分配$valorCep。你应该从你的控制器传递它。

public function especificar_tipo_imovel(Request $request, $valorCep) 
{ 
    return view('especificar_tipo_imovel', ['valorCep' => $valorCep]); 
} 

,并在您的视图:

{{ Form::open(['route' => ['anuncio.especificar_tipo_imovel', $valorCep], 'method' => 'GET']) }} 
+0

我知道用字面值'valorCep'我不会得到任何动态路由。我只是用它来显示我被卡住的地方以及我正在尝试做的事情。 –

+0

好吧,我想我明白你现在在做什么,你可以通过传递查询参数作为键值对来创建路由。看看: '['route'=> ['anuncio.especificar_tipo_imovel','valorCep'=> $ valorCep,'cep'=> $ cep]]' 但是,您应该声明查询和路由之间没有名称冲突参数名称。 – motia

0

您可以使用此

public function especificar_tipo_imovel(Request $request, $cep) 
{ 
    $valorCep = $request->valorCep; 

    return view('especificar_tipo_imovel', ['valorCep' => $valorCep]); 
} 
0

你不能隐藏输入的值传递给这样$valorCep = 'valorCEp'的路线,这样可以帮助您只是传递字符串'valorCEp'作为参数。检查你的url,是参数是字符串的路由,加上输入的值(引起GET方法)。

除非您在变量中具有valorCep输入的值,并且传递此变量而不是'valorCEp'字符串,否则您将需要一些javascript。事情是这样的:

脚本(使用jQuery)

$('input[type=submit]').on('click', function(event){ 
    event.preventDefault(); 
    var valorCep = $('#valorCep').val(); 
    $('form').attr('action', 'anuncio/especificar_tipo_imovel/'+valorCep); 
    $('form').submit(); 
}); 
+0

这不起作用,输入的值被发送 –

相关问题