2017-02-16 100 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

這不起作用,輸入的值被髮送 –

相關問題