¿que puedo estar haciendo mal?
esto seria el código html del formulario
Código HTML:
<form action="guardar.php" id="Agarticulos" method="post" > <input type="hidden" name="cosa" id="cosa" value="presualqui"> <input type="hidden" name="loque" value="articulos"> <input type="text" name="nuevo" id="nuevoArticulo" value="si"> <table id="table-data"> <thead> <tr class="cabecera_tabla"> <th class="uni">Uni</th> <th class="concepto">Concepto</th> <th class="precio">Precio</th> <th class="coef">Coef.</th> <th class="desc">%Desc.</th> <th class="subtotal">Subtotal</th> <th class="opciones">Opciones</th> </tr> </thead> <tbody id="LineasDocumento" class="ordenable Lineasdoc"> <tr> <td class="uni"><input type="text" name="cantidad" id="cantidad" class="obligatorio numeros" onkeypress="return Comprobarnum(event)" placeholder="Uni"></td> <td class="concepto"><input type="text" name="nombre" id="Articulo" autocomplete="off" class="obligatorio" placeholder="Concepto"></td> <td class="precio"><input type="text" name="precio" id="precio" class="obligatorio numeros" onkeypress="return Comprobarnum(event)" placeholder="precio"></td> <td class="coef"><input type="text" name="coeficiente" id="coeficiente" class="obligatorio numeros" onkeypress="return Comprobarnum(event)" placeholder="Coef."></td> <td class="desc"><input type="text" name="descu" id="descu" class="obligatorio numeros" onkeypress="return Comprobarnum(event)" placeholder="Desc."></td> <td class="subtotal"><input type="text" name="total" disabled id="total" placeholder="Subtotal"></td> <td class="opciones"><input id="agregarln" onclick="AddLinea(this.form);" type="button" class="botonverde" value="agregar" /></td> </tr> </tbody> </table> <input type="submit" value="enviar"> </form>
Código:
y el resultado que me da es este:var LineaNum = 0;
function AddLinea(frm) {
var error = 0;
if ($("#cantidad").val().length < 1) { $().toastmessage('showToast', { text : 'Error<br /> El articulo no puede estar vacio', sticky : false, type : 'error' }); var error = 1; }
if ($("#Articulo").val().length < 1) { $().toastmessage('showToast', { text : 'Error<br /> El articulo no puede estar vacio', sticky : false, type : 'error' }); var error = 1; }
if ($("#precio").val().length < 1) { $().toastmessage('showToast', { text : 'Error<br /> El precio no puede estar vacio', sticky : false, type : 'error' }); var error = 1; }
if ($("#coeficiente").val().length < 1) { $().toastmessage('showToast', { text : 'Error<br /> El coeficiente no puede estar vacio', sticky : false, type : 'error' }); var error = 1; }
if ($("#descu").val().length < 1) { $().toastmessage('showToast', { text : 'Error<br /> El descuento no puede estar vacio', sticky : false, type : 'error' }); var error = 1; }
if(error != 1) {
LineaNum ++;
var Linea = '<tr id="LineaNum'+LineaNum+'" class="Lineasdoc"><td class="uni"><input type="hidden" class="posicion" name="posicion['+LineaNum+'][posicion]"><input type="hidden" name="cantidad['+LineaNum+']" value="'+frm.cantidad.value+'">'+frm.cantidad.value+'</td><td class="concepto"><input type="hidden" name="nombre['+LineaNum+']" value="'+frm.nombre.value+'">'+frm.nombre.value+'</td><td class="precio"><input type="hidden" name="precio['+LineaNum+']" value="'+frm.precio.value+'">'+frm.precio.value+'</td><td class="coef"><input type="hidden" name="coeficiente['+LineaNum+']" value="'+frm.coeficiente.value+'">'+frm.coeficiente.value+'</td><td class="desc"><input type="hidden" name="descu['+LineaNum+']" value="'+frm.descu.value+'">'+frm.descu.value+'</td><td class="subtotal"><input type="hidden" name="total['+LineaNum+']" value="'+frm.total.value+'">'+frm.total.value+'</td><td class="opciones"><button class="botonrojo" onclick="EliminarLinea('+LineaNum+' ,'+frm.total.value+');">Borrar</button></td></tr>';
jQuery('#LineasDocumento').append(Linea);
frm.nombre.value = '';
frm.cantidad.value = '';
frm.precio.value = '';
frm.coeficiente.value = $("#coeficienteG").val();
frm.descu.value = $("#descuentoG").val();;
frm.total.value = '';
$("#cantidad").focus();
ordenar()
Guardar_articulos()
return false;
}
}
function EliminarLinea(rnum,descontar) {
jQuery('#LineaNum'+rnum).remove();
var subtotal = $('input[name=Subtotal]').val();
if (!isNaN(descontar)){ subtotal -= parseFloat(descontar);
}else{
return true;
}
$('input[name=Subtotal]').val(subtotal);
}
function Guardar_articulos() {
var Darticulos = $("#Agarticulos").serialize();
$.ajax({
url: "guardar.php",
data: Darticulos,
type: 'post',
beforeSend:function(data) { alert(Darticulos) },
success: function(data) { $().toastmessage('showToast', { text : 'Datos almacenados correctamente'+ data, sticky : true, type : 'success' }); },
error: function(data){ $().toastmessage('showToast', { text : 'Error al guardar '+ data, sticky : true, type : 'error' }); }
});
};
Array ( [cosa] => presualqui [loque] => articulos [nuevo] => no [cantidad] => Array ( [1] => 1 [2] => 1 ) [nombre] => Array ( [1] => Disco Duro SSD 128Gb [2] => Toalla Intercalada Blanca 2500u ) [precio] => Array ( [1] => 180 [2] => 120 ) [coeficiente] => Array ( [1] => 1 [2] => 1 ) [descu] => Array ( [1] => 0 [2] => 0 ) [posicion] => Array ( [1] => Array ( [posicion] => 2 ) [2] => Array ( [posicion] => 1 ) ) [total] => Array ( [1] => 180 [2] => 120 ) )
como veis crea mil arrays en vez de uno solo ¿en que me estoy equivocando?
también quisiera quitar el primer resultado que esta vacío ( se supone que es donde meto los datos para que luego se vayan al formulario dinámico y claro siempre esta vacío )
muchas gracias a todos de antemano.


