【问题标题】:Laravel Bootstrap Modal Submit button not workingLaravel Bootstrap 模态提交按钮不起作用
【发布时间】:2019-02-02 02:21:34
【问题描述】:

我很想使模式窗口将控件返回到我的视图中。按钮类型是提交,但它不会启动路由。我看过一些教程,在那里,我所要做的就是将 action 定义为路由并有一个提交按钮。我已经看到了,不需要 ajax,或者我不知道他们何时编写代码......我去了 w3c,在“自己尝试”处我聚集了提交按钮,实际上窗口不是关闭。所以我完全被困住了,不胜感激。

我的部分观点

    <main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
      <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
        <h1 class="h5">Horarios</h1>
        <div class="btn-toolbar mb-2 mb-md-0">
          <div class="btn-group mr-2">
            <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#create-horario">+</button>

            <div class="modal fade" id="create-horario" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" >
              <div class="modal-dialog" role="document">
                <div class="modal-content">
                  <div class="modal-header">
                    <h5 class="modal-title" id="ModalLabel">Nuevo horario</h5>                      
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                      <span aria-hidden="true">&times;</span>
                    </button>


                  </div>

                  <form action="{{ route('horarioperiodicos.store')}}" method="post">
         <!--           {{ method_field('patch')}} -->
                    {{ csrf_field() }}

                    <div class="modal-body">


                      <div class="form-group">
                        <label for="diaSemana" class="col-form-label">Día de la semana</label>
                        <select name="diaSemana" class="form-control">
                          <option value="1"  selected> Lunes</option>
                          <option value="2"  > Martes</option>
                          <option value="3"  > Miércoles</option>
                          <option value="4"  > Jueves</option>
                          <option value="5"  > Viernes</option>
                          <option value="6"  > Sábado</option>
                          <option value="7"  > Domingo</option>
                          </select> 
                      </div>


                      <div class="form-group">
                        <div style="width:50%;float:left;display:inline-block;">
                          <label for="HoraInicio" class="col-form-label">Hora de inicio</label>
                          <input type="time" id="HoraInicio" name="HoraInicio" min="9:00" max="18:00" value="09:00" >
                        </div>
                        <div align="right">
                          <label for="HoraFin" class="col-form-label">Hora de fin</label>
                          <input type="time" id="HoraFin" name="HoraFin" min="9:00" max="18:00" value="10:00">
                        </div>
                      </div>


                    </div>
                   </form>

                  <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
                    <button type="submit" class="btn btn-primary" id="submitForm">Guardar</button>
                  </div>
                </div>
              </div>
            </div>  



          </div>
        </div>
      </div>



    <table class="table">
      <thead class="thead-light">
        <tr>
          <th>Día</th>
          <th>Hora de inicio</th>
          <th>Hora de fin</th>        
          <th>Cambios</th>
       </tr>
      </thead>
      <tbody>

        @foreach($horarioPeriodicos as $horario)
          <tr>
            <td>  

              @switch( $horario->intDia )
                  @case( 1 )
                      Lunes
                    @break
                  @case( 2 )
                      Martes
                  @case( 3 )
                      Miércoles
                    @break
                  @case( 4 )
                      Jueves
                  @case( 5 )
                      Viernes
                  @case( 6 )
                      Sábado
                  @default
                      Domingo
                    @break
              @endswitch

            </td>
            <td> {{ $horario->timHoraInicio }} </td>
            <td> {{ $horario->timHoraFin }} </td>
            <td>
              <button class="btn btn-sm btn-outline-secondary">-</button> / 
              <button class="btn btn-sm btn-outline-secondary">Editar</button>
            </td>
          </tr>
        @endforeach


      </tbody>
    </table>




    </main>

HorarioPeriodicosController(别碰它,在我的死记硬背中)

public function store(Request $request)
{
    //
    dd(1);
}

My routes list

我尝试修改这个

                  <form action="{{ route('horarioperiodicos.store')}}" method="post">
                    {{ method_field('patch')}} 

为此

                  <form action="{{ route('horarioperiodicos.store')}}" >

等等等等

罕见的是,即使我在那里进行了更改,它也不会启动错误。

非常感谢

【问题讨论】:

  • 首先,您可以使用 Carbon 来获取星期几,而不是切换大小写示例:` Carbon::now()->dayName `。您正在使用补丁方法字段来存储值,这是不对的,此方法应在更新中使用,请尝试仅使用 csrf_field。如果错误仍然存​​在,请尝试对 html 进行 jsfiddle。

标签: laravel bootstrap-4 bootstrap-modal laravel-5.5


【解决方案1】:

您需要将&lt;button&gt; 放在&lt;form&gt; 元素中。

否则不会触发表单提交。

或者您可以将按钮放置在表单之外,但您需要在按钮元素中包含与表单的id= 属性对应的form= 属性:

<form id="myform" method="post" action="{{ route('store.create') }}">
    <input type="text" name="name" />
</form>

<input type="submit" form="myform" />

【讨论】:

  • 非常感谢,我是新手,但应该可以。就这么简单。
猜你喜欢
  • 2016-08-08
  • 2020-11-02
  • 2013-12-17
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
  • 1970-01-01
相关资源
最近更新 更多