Как передать значение радиокнопки в качестве параметра маршрута в Laravel? - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу передать выбранное значение радиокнопки в качестве параметра с Laravel route.

Мой маршрут:

Route::resource('/datas','DataController');

С этого маршрута я собираюсь вызвать localhost : 8000 / datas / {data}

Мой data.blade. php is:

<form id="dataform" action="{{ route('datas.show')}}" method="GET">
   <table class="table">
      <tr>
         <th>Select bullet</th>
         <th>SL NO</th>
         <th>Name</th>
         <th>Age</th>
      </tr>
      @foreach ($datas $key => $data)
         <tr>
            <td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
            <td>{{$key}}</td>
            <td>{{$data->name}}</td>
            <td>{{$data->age}}</td>
         </tr>
      @endforeach
   </table>
   <button type="submit" id="edit_submit" class="btn btn-default">Show</button>                    </form>

Моя функция показа будет ...


public function show($id)
   {
      //Code to showing data and redirect to show page
   }

Я хочу получить значение этого переключателя (приведено ниже).

<td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}>

и включите его в качестве параметра в действие формы ниже

<form id="dataform" action="{{ route('datas.show')}}" method="GET">

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Я внес некоторые изменения в этот код. Изменена кнопка для привязки тега. Итак, мой клинок. php это: -

   <table class="table">
      <tr>
         <th>Select bullet</th>
         <th>SL NO</th>
         <th>Name</th>
         <th>Age</th>
      </tr>
      @foreach ($datas $key => $data)
         <tr>
            <td><input type="radio" id="data{{$data->id}}" name="data" value={{$data->id}}></option></td>
            <td>{{$key}}</td>
            <td>{{$data->name}}</td>
            <td>{{$data->age}}</td>
         </tr>
      @endforeach
   </table>
   <a  href="javascript:showfunction()" id="showlink" class="btn btn-default">Show</a>

, и я также добавил функцию javascript.

<script>
    function showfunction(){
       var id = document.querySelector('input[name = "data"]:checked').value;
       var url = '{{route("admin.questions.show",":id")}}';
       url=url.replace(':id',id);
       document.location.href=url;
    }
</script>
0 голосов
/ 10 апреля 2020

Вы не можете сделать это sh, используя только HTML / Blade. Вам нужно javascript (или javascript framework), чтобы действующие изменения работали, поскольку параметр в маршруте действия вашей формы зависит от значения выбранного радио.

action="{{ route('datas.show', [ 'id' => [insert id here] ])}}"
...