如何在它之后删除表单';是用Laravel PHP提交的吗?

如何在它之后删除表单';是用Laravel PHP提交的吗?,php,forms,laravel,backend,octobercms,Php,Forms,Laravel,Backend,Octobercms,我的网站使用OctoberCMS,我有一个联系人表单,我想在其中显示一个部分的成功消息,并在提交后隐藏表单。这是表单的代码片段,我清除了表单中不必要的部分: <form role="form" class="cntct" id="cntct" data-request="onSend" data-request-update="success: '#result'"> <div class="form-group"> <!-- Some inp

我的网站使用OctoberCMS,我有一个联系人表单,我想在其中显示一个部分的成功消息,并在提交后隐藏表单。这是表单的代码片段,我清除了表单中不必要的部分:

<form role="form" class="cntct" id="cntct" data-request="onSend" data-request-update="success: '#result'">
     <div class="form-group">
      <!-- Some input fields here !--> 
         <div class="row">
            <div class="col-sm-6">
               <button type="submit" class="btn btn-lg btn-info">Send message</button>
            </div>
          </div>
     </div>
 </form>
 <div id="result">
   {% partial 'success' %}
 </div>

发送消息
{%partial'成功'%}

表单正在运行,我可以发送电子邮件,
success
部分显示其内容,没有任何错误。如果可以的话,我只想删除表单,并只显示
#result
容器

只需添加一个标志并检查它是否设置为@if或@isset

@isset($flag) // or @if
   <form role="form" class="cntct" id="cntct" data-request="onSend" data-request-update="success: '#result'">
     <div class="form-group">
      <!-- Some input fields here !--> 
         <div class="row">
            <div class="col-sm-6">
               <button type="submit" class="btn btn-lg btn-info">Send message</button>
            </div>
          </div>
     </div>
 </form>
@endisset
<div id="result">
   {% partial 'success' %}
 </div>
@isset($flag)//或@if
发送消息
@尾端集
{%partial'成功'%}

另一个选项是使用ajax将结果发送到表单的div中 使用:数据请求更新=“'form-result':'#yourdiv'”


...

通过这样做,表单将被您的成功消息所取代。如果输入错误,表单将保持不变。

如果您将表单部分放入带有
id=“form”
的div中,如下所示:

<div id="form">
    {% partial __SELF__~"::partials/form" %}
</div>

这假设您的组件部分文件夹中有
表单
成功
部分。

谢谢!唯一需要更改的是
return['#form'=>$this renderPartial('@partials/success')
to
return['#form'=>this->renderPartial('success')
<div id="form">
    {% partial __SELF__~"::partials/form" %}
</div>
public function onSend()
{
    # save the data

    return ['#form' => $this-renderPartial('@partials/success')];
}