2017-02-16 15 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 Мне нужен url как http://my_route/34834839 номер, указывающий значение скрытого поля и параметр маршрута $valorCep.

мой URL этот путь:

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

$ хххх = $ request-> valorCep; вы можете использовать это как – Sona

+0

. Моя проблема заключается не в том, чтобы получить значение в контроллере. Моя проблема - формат URL. –

+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. Что-то вроде этого:

Script (с 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

это не работает, значение входов отложено –

 Смежные вопросы

  • Нет связанных вопросов^_^