Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel5.1和JavaScript-向表单添加新输入_Javascript_Php_Jquery_Forms_Laravel 5.1 - Fatal编程技术网

Laravel5.1和JavaScript-向表单添加新输入

Laravel5.1和JavaScript-向表单添加新输入,javascript,php,jquery,forms,laravel-5.1,Javascript,Php,Jquery,Forms,Laravel 5.1,我有一个表单,其中使用javascript添加输入字段,其中包含: $('#body_estudios').append(outputHtml); 一切都很完美,但当我尝试在控制器中使用以下命令保存编辑表单时: $input = $request->all(); 动态生成的字段不存在,此指令仅获取正常的输入字段。那么,如何将这些字段链接到表单,以便浏览器读取并发送到控制器 编辑: javascript: $('#agregar_estudio').on('click', functio

我有一个表单,其中使用javascript添加输入字段,其中包含:

$('#body_estudios').append(outputHtml);
一切都很完美,但当我尝试在控制器中使用以下命令保存编辑表单时:

$input = $request->all();
动态生成的字段不存在,此指令仅获取正常的输入字段。那么,如何将这些字段链接到表单,以便浏览器读取并发送到控制器

编辑: javascript:

$('#agregar_estudio').on('click', function(){
    event.preventDefault();
    var indice = $('#estudios_tabla').data("index");
    var newindice = $('#estudios_tabla').data("newindex");
    $('#estudios_tabla').data("newindex", newindice+1);
    var cloned_estudios = select_estudios;
    var cloned_ric = select_ric;
    var cloned_satis = select_satisfaccion;
    var outputHtml = "<tr id='estudio_line_"+newindice+"'>";
    outputHtml = outputHtml+"      <td width='10%' style='text-align: center;'>";
    outputHtml = outputHtml+"        <a href='#' title='Borrar fila' id='remove_row_"+newindice+"_estudios' class='btn btn-danger tooltips tooltips-right' style='clear: both;'  data-remove='estudio_line_"+newindice+"'>";
    outputHtml = outputHtml+"          <i class='fa fa-ban'></i>";
    outputHtml = outputHtml+"          <span>Borrar (sen gardar)</span>";
    outputHtml = outputHtml+"        </a>";
    outputHtml = outputHtml+"      </td>";
    outputHtml = outputHtml+"      <td width='10%'>";
    outputHtml = outputHtml+"        <input type='text' value='' name='ano_estudio_"+newindice+"' class='form-control' id='ano_estudio_"+newindice+"' />";
    outputHtml = outputHtml+"      </td>";
    outputHtml = outputHtml+"      <td width='20%'>";
    outputHtml = outputHtml+"        "+cloned_estudios.replace("niveles_estudios","niveles_estudios_"+newindice);
    outputHtml = outputHtml+"      </td>";
    outputHtml = outputHtml+"      <td width='10%'>";
    outputHtml = outputHtml+"        "+cloned_ric.replace("ric_estudios","ric_estudios_"+newindice);
    outputHtml = outputHtml+"      </td>";
    outputHtml = outputHtml+"      <td width='30%'>";
    outputHtml = outputHtml+"        <input type='text' value='' class='form-control' name='especialidad_estudios_"+newindice+"' id='especialidad_estudios_"+newindice+"' />";
    outputHtml = outputHtml+"      </td>";
    outputHtml = outputHtml+"      <td width='20%'>";
    outputHtml = outputHtml+"        "+cloned_satis.replace("satisfaccion_estudios","satisfaccion_estudios_"+newindice);
    outputHtml = outputHtml+"      </td>";
    outputHtml = outputHtml+"    </tr>";
    $('#body_estudios').append(outputHtml);
    $('#remove_row_'+newindice+'_estudios').click(borrar_fila);
  });

没有为动态添加的输入字段触发click事件。 尝试使用事件委派

试试这个。 改变


您可以使用静态显示的任何父标记来代替body。通常,body标记是有效的,所以我刚刚给出了它。

请发布更多代码,以便我们能够更好地理解它,您的html代码。好的,我想我已经足够了。@Jnana现在发布了我认为您需要的代码片段,代码很多,所以我发布了这些代码。如果你还需要,告诉我。结果一样。数组不包含由
$('body')生成的任何输入。在('click','agregar_estudio',function(){}
上,您是否可以检查请求是否包含该参数?您是否不理解您的意思
{!! Form::model($cliente, [
  'method' => 'POST',
  'id' => 'profile_form',
  'route' => ['perfilcliente', $cliente->id]
]) !!}
<table id="estudios_tabla" class="table table-flipscroll table-responsive table-hover table-striped" data-newindex="<?php print $last_estudio_index; ?>" data-index="<?php print $last_estudio_index-1; ?>">
                <thead>
                  <tr>
                    <th>Operacións</th>
                    <th>Ano</th>
                    <th>Nivel de Estudios</th>
                    <th>RIC</th>
                    <th>Especialiadad</th>
                    <th>Satisfacción</th>
                  </tr>
                </thead>
                <tbody id="body_estudios">
                  @foreach($estudios_array as $estudio_cursado)
                  <tr id="estudio_line_<?php print $estudio_cursado['id_estudio']; ?>">
                    <td width="10%" style="text-align: center;">
                      <a href="#" title="Borrar fila" id="remove_row_<?php print $estudio_cursado['id_estudio']; ?>" class="btn btn-danger tooltips" style="clear: both;" data-remove="estudio_line_<?php print $estudio_cursado['id_estudio']; ?>">
                        <i class="fa fa-ban"></i>
                        <span></span>
                      </a>
                    </td>
                    <td width="10%">
                      {!! Form::text('ano_estudios', $estudio_cursado['ano'], ['class' => 'form-control', 'id'=>'select_estudios_html']) !!}
                    </td>
                    <td width="20%">
                      {!! Form::select('niveles_estudios',
                            $items_estudios,
                            $estudio_cursado['id_estudio'],
                            ['class' => 'form-control'])
                      !!}
                    </td>
                    <td width="10%">
                      {!! Form::select('ric_estudios',
                            ['r'=>'Realizado', 'i'=>'Iniciado','c'=>'En curso'],
                            $estudio_cursado['ric'],
                            ['class' => 'form-control', 'id'=>'test'])
                      !!}
                    </td>
                    <td width="30%">
                      {!! Form::text('especialidad_estudios', $estudio_cursado['especialidad'], ['class' => 'form-control']) !!}
                    </td>
                    <td width="20%">
                      {!! Form::select('satisfaccion_estudios',
                            ['baja'=>'Baixa', 'media'=>'Media','alta'=>'Alta'],
                            $estudio_cursado['satisfaccion'],
                            ['class' => 'form-control'])
                      !!}
                    </td>
                  </tr>
                  @endforeach
                </tbody>
              </table>
    {!! Form::submit('Gardar', ['class' => 'btn btn-primary pull-right']) !!}
{!! Form::close() !!}
public function guardaPerfil(Request $request, $id){
  $cliente = Cliente::findOrFail($id);
  $input = $request->all();
  print_r($input);
}
$('#agregar_estudio').on('click', function(){ }
$('body').on('click', '#agregar_estudio', function() { }