Как использовать ту же форму для редактирования и создания с использованием isset для поля значения в форме и как настроить эти маршруты для обновления и хранения? - PullRequest
0 голосов
/ 28 февраля 2020

Это моя первая форма для создания.

create form //
    <form action="{{route('surplus.genrate')}}" method="POST" id="offer_letter_gen" >
       <input type="email" class="form-control m-input result "
         placeholder="" name="recurring_total" id="tot_extra" readonly>
       <input type="email" class="form-control m-input result "
         placeholder="" name="recurring_total" id="tot_extra" readonly>
    </form>     

Это код для редактирования

edit //
 <form action="{{route('surplus.edit')}}" method="POST" id="offer_letter_gen" >
       <input type="email" class="form-control m-input result "
         placeholder="" name="recurring_total" id="tot_extra" readonly>
       <input type="email" class="form-control m-input result "
         placeholder="" name="recurring_total" id="tot_extra" readonly>
    </form>

как я могу использовать одну и ту же форму при создании и обновлении с управляемыми для них маршрутами ?

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

Я сделал нечто похожее на этой неделе. У меня есть модал с такой формой, как ваша:

    <form action="{{route('surplus.genrate')}}" method="POST" id="offer_letter_gen" >
       <input type="email" class="form-control m-input result "
         placeholder="" name="recurring_total" id="tot_extra" readonly>
       <input type="email" class="form-control m-input result "
         placeholder="" name="recurring_total" id="tot_extra" readonly>
    </form>

Я добавил функцию javascript для изменения URL-адреса формы в зависимости от того, является ли это редактированием или созданием.

Javascript функция:

function updateurl(id, url){ //Where id is the form id and url is the url for create or for edit
  $('#'+id).prop('action',url);
}

Затем в кнопку или что-то:

//For creating
onclick="updateurl('offer_letter_gen','{{route('surplus.genrate')}}')"
//For editing
onclick="updateurl('offer_letter_gen','{{route('surplus.edit')}}')"

Я думаю, что это было то, что вы пытались достичь

0 голосов
/ 28 февраля 2020

Я действительно не знал, как вы хотите редактировать что-то без идентификатора, но вы можете сделать что-то вроде этой формы:

<form action="{{route('surplus.genrate')}}" method="POST" id="offer_letter_gen" >
@csrf
<input type="hidden" name="your possile ID" value='{{ $id_of_record_to_edit ?? '' }}' />
<input type="email" class="form-control m-input result "placeholder="" name="recurring_total" id="tot_extra" readonly>
<input type="email" class="form-control m-input result "placeholder="" name="recurring_total" id="tot_extra" readonly>

Если у вас есть идентификатор запись, вы можете просто обновить по id ... Если нет, используйте updateOrCreate. В вашем контроллере вы можете делать то, что нам говорят документы ... Проверка -> updateOrCreate () документация

public function saveOrUpdate(Request $request)
{
handle it...
}

Маршрут:

Route::post('page..', 'ControllerNameController@saveOrUpdate)->name('save_or_update');

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...