i have a form trying store multiple rows in my DataBase with laravel and JQuery .append. But when i submits it only stores the last one.
I will like to store all the appends separately.
I don’t know how to fix this.
I hope you can help me a little bit.
I will really appreciate your help.
Here's my code.
Blade
<form action="" method="POST" enctype="multipart/form-data">
@csrf
<div class="container-fluid p-0">
<h1 class="h3 mb-3">Crear CotizaciĆ³n</h1>
<br />
<br />
<div class="row">
<div class="col-sm-3">
<div class="form-group">
<label>Usuario</label>
<select name="id_usuario" id="id_usuario" class="form-control">
<option value="">Elige el Usuario</option>
@foreach($usuariosGetAll as $user)
<option value=""></option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Cliente</label>
<select name="id_cliente" id="id_cliente" class="form-control">
<option value="">Elige el Cliente</option>
@foreach($nombreCliente as $nombreCliente)
<option value=""></option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Equipo</label>
<input type="text" name="equipo" id="equipo" class="form-control" />
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<label>Servicio/Venta</label>
<input type="text" name="servicio_venta" id="servicio_venta" class="form-control" />
</div>
<div class="form-group">
<label>Fecha</label>
<input type="date" name="fecha" id="fecha" class="form-control" />
</div>
<div class="form-group">
<label>Status</label>
<select name="status" id="status" class="form-control">
<option value="Pendiente">Pendiente</option>
<option value="Completado">Completado</option>
</select>
</div>
</div>
</div>
<input type="hidden" name="created_at" value="">
<br />
<a id="btn1" class="btn">Agregar partida</a>
<br />
<br />
<div class="row">
<table id="table-data" class="table data">
<thead>
<tr>
<th>Partida</th>
<th>Cantidad</th>
<th>Clave</th>
<th>Precio</th>
<th>Importe</th>
<th></th>
</tr>
</thead>
</table>
</div>
<br>
<br>
<input type="submit" class="btn btn-success text-end" value="Enviar" style="float: right">
</form>
Script
<script>
$(document).ready(function(){
var cotId = parseFloat('');
var cotIdmas1 = parseFloat(cotId + 1);
var now = '';
$("#btn1").click(function(){
$("#table-data").append('"<thead class='+'cotIdmas1 '+'><tr><td><input type='+'hidden '+'name = id_cotizacion[] '+'value= '+cotIdmas1+'><input type= '+'number '+'class= '+'input-cot '+'name= '+'partida[] '+'value= '+'""'+'></td><td><input type= '+'number '+'class='+'input-cot '+'name= '+'cantidad[] '+'value= '+'""'+'></td><td><input type= '+'text'+' class='+'input-cot '+'name= '+'producto_servicio[] '+'value= '+'""'+'></td><td><input type= '+'number ' +'class='+'input-cot '+'name= '+'precio[] '+'value= '+'""'+'></td><td><input type='+'number '+' class='+'input-cot'+'></td>'+'<th class="delete"><a>Eliminar</a></th>'+'</tr></thead>"');
});
});
$(document).on('click', '.delete', function() {
$(this).parents('tr').remove();
});
</script>
Controller
public function save(Request $request){
$cotizaciondata = request()->except('_token', 'id_cotizacion', 'partida', 'cantidad', 'producto_servicio', 'precio');
$prodcotizaciondata = request()->except('_token', 'id_usuario', 'id_cliente', 'equipo', 'servicio_venta', 'fecha', 'status', 'created_at');
Cotizaciones::insert($cotizaciondata);
ProdCotizaciones::insert($prodcotizaciondata);
return 'info guardada';
}
source https://stackoverflow.com/questions/67731074/create-multiple-rows-in-laravel-db-with-a-single-form
Comments
Post a Comment