2017-02-16 7 views
1

2つのフィールドを持つフォームの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 私はようなURLをしたい http://my_route/34834839 番号は隠しフィールドの値になり、$valorCepルートパラメータになります。

私のURLはこのようです:

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

$ XXXX = $要求 - > valorCep。あなたはこのように使うことができます – Sona

+0

私の問題はコントローラの値を取得することではありません。私の問題はURLフォーマットです。 –

+0

申し訳ありませんが、あなたが欲しいものを正確に得られないのですか? – Sona

答えて

0

注意。あなたはコントローラからそれを渡すべきです。

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'と私はdinamicルーティングを取得しません知っている。私はちょうど私が立ち往生し、私が何をしようとしているかを示すためにそれを使用します。 –

+0

さて、あなたは今何をしようとしているのか理解していると思います。クエリパラメータをキー値のペアとして渡してルートを作成できます。 > しかし、クエリとルートの間に名前の衝突がないことをアサートする必要がありますパラメータ名。 – motia

0

あなたは、この$valorCep = 'valorCEp'ようなルートにあなたがそのように隠された入力の値を渡すことはできません。この

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

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

を使用することができます単に文字列'valorCEp'をパラメータとして渡します。あなたのURLをチェックし、パラメータが文字列であるルートと入力の値(GETメソッドを引き起こす)を加えます。

変数にvalorCepの値を入力し、valorCEpという文字列の代わりにこの変数を渡さない限り、いくつかのjavascriptが必要です。このような何か:(jQueryを使って)

スクリプトリテラル 'valorCep' はビューで$valorCepを割り当てる

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

これは機能しません、入力の値が送信されます –

関連する問題