Buenas, sólo me preguntaba porqué así el código funciona:
Código Javascript
:
Ver originalvar form=$("formulario_"+formulario);
var elementos=form.elements;
for(var i=0; i<elementos.length; i++) {
campo=elementos[i].dataset.campo; //atributo data-campo de los campos donde se guarda su nombre
if(elementos[i].type=="text" || elementos[i].type=="textarea") { //si el elemento en cuestion es un input text o textarea
elementos[i].value=array[index][campo]; //asigna su valor al correspondiente del array
}
}
y así me dice que "campo" es undefined (refiriendose a dataset.campo)
Código Javascript
:
Ver originalvar elementos=form.childNodes;
El array es esto:
Código Javascript
:
Ver originalclientes[0]={codigo:'0',nombre:'nombre0',domicilio1:'domicilio10',domicilio2:'domicilio20',cp:'0',poblacion:'poblacion0',provincia:'provincia0',dni:'0',telefono:'0',movil:'0',fax:'0',email:'email0',observaciones:'observaciones0'};
clientes[1]={codigo:'1',nombre:'nombre1',domicilio1:'domicilio11',domicilio2:'domicilio21',cp:'1',poblacion:'poblacion1',provincia:'provincia1',dni:'1',telefono:'1',movil:'1',fax:'1',email:'email1',observaciones:'observaciones1'};
y un ej del form sería este:
Código HTML:
Ver original<form id="formulario_clientes"> <label for="formulario_clientes_codigo">Código:
</label><input data-formulario="clientes" data-campo="codigo" data-disabled="true" type="text" name="codigo" id="formulario_clientes_codigo" size="5" disabled><br> <label for="formulario_clientes_nombre">Nombre:
</label><input data-formulario="clientes" data-campo="nombre" data-disabled="false" type="text" name="nombre" id="formulario_clientes_nombre" size="40" maxlength="30"><br> <label for="formulario_clientes_domicilio1">Domicilio 1:
</label><input data-formulario="clientes" data-campo="domicilio1" data-disabled="false" type="text" name="formulario_clientes_domicilio1" id="formulario_clientes_domicilio1" size="40" maxlength="30"><br> <label for="formulario_clientes_domicilio2">Domicilio 2:
</label><input data-formulario="clientes" data-campo="domicilio2" data-disabled="false" type="text" name="formulario_clientes_domicilio2" id="formulario_clientes_domicilio2" size="40" maxlength="30"><br> <label for="formulario_clientes_cp">Código Postal:
</label><input data-formulario="clientes" data-campo="cp" data-disabled="false" type="text" name="formulario_clientes_cp" id="formulario_clientes_cp" size="6" maxlength="5"><br> <label for="formulario_clientes_poblacion">Población:
</label><input data-formulario="clientes" data-campo="poblacion" data-disabled="false" type="text" name="formulario_clientes_poblacion" id="formulario_clientes_poblacion" size="40" maxlength="30"><br> <label for="formulario_clientes_provincia">Provincia:
</label><input data-formulario="clientes" data-campo="provincia" data-disabled="false" type="text" name="formulario_clientes_provincia" id="formulario_clientes_provincia" size="40" maxlength="30"><br> <label for="formulario_clientes_dni">DNI:
</label><input data-formulario="clientes" data-campo="dni" data-disabled="false" type="text" name="formulario_clientes_dni" id="formulario_clientes_dni" size="40" maxlength="30"><br> <label for="formulario_clientes_telefono">Teléfono:
</label><input data-formulario="clientes" data-campo="telefono" data-disabled="false" type="text" name="formulario_clientes_telefono" id="formulario_clientes_telefono" size="10" maxlength="10"> <label for="formulario_clientes_movil" style="width: 69px;">Móvil:
</label><input data-formulario="clientes" data-campo="movil" data-disabled="false" type="text" name="formulario_clientes_movil" id="formulario_clientes_movil" size="10" maxlength="10"><br> <label for="formulario_clientes_fax">Fax:
</label><input data-formulario="clientes" data-campo="fax" data-disabled="false" type="text" name="formulario_clientes_fax" id="formulario_clientes_fax" size="10" maxlength="10"><br> <label for="formulario_clientes_email">Email:
</label><input data-formulario="clientes" data-campo="email" data-disabled="false" type="text" name="formulario_clientes_email" id="formulario_clientes_email" size="40" maxlength="30"><br> <label for="formulario_clientes_observaciones" style="vertical-align: top;">Observaciones:
</label><textarea data-formulario="clientes" data-campo="observaciones" data-disabled="false" name="formulario_clientes_observaciones" id="formulario_clientes_observaciones" cols="31" rows="3"></textarea>
Debe de ser cosa del childnodes pero ni idea de porque no funciona. He probado tambien con getAttribute("data-campo"); pero tampoco funciona
Gracias de antemano