【问题标题】:how to use same form for edit and create using isset to the value field in the form and how to customise this routes for update and store?如何使用相同的表单进行编辑和使用 isset 创建表单中的值字段以及如何自定义此路由以进行更新和存储?
【发布时间】:2020-06-12 07:01:26
【问题描述】:

这是我创建的第一个表单。

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>

我如何在创建和更新时使用相同的表单以及可管理的路线 为他们?

【问题讨论】:

标签: php laravel forms


【解决方案1】:

这周我做了类似的事情。我有一个像你这样的模式:

    <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')}}')"

我认为这就是你想要实现的目标

【讨论】:

  • 您可以保留该操作,javascript 代码会随时更改它;)
【解决方案2】:

我真的不知道你想如何在没有 ID 的情况下编辑某些内容,但你可以执行以下表单:

<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,您可以简单地通过 id 更新...如果没有,请使用 updateOrCreate。在您的控制器中,您可以执行文档告诉我们执行的操作... 检查 -> updateOrCreate() documentation

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

路线:

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

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 2023-03-22
    • 2017-05-22
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 2012-05-25
    相关资源
    最近更新 更多