Quiero hacer un fix a la funcion, deje como constante el atributo class:
Código Javascript
:
Ver originalinput.setAttribute("class", "some-class"); //to add styles i guess?
Es myt util para darle estilos a los inputs que sea la clase que tu necesites y no meter mano a la funcion, habría que quitar esa línea hacer un condicional, por si no fuera necesario darle una clase (que es raro, pero excluyente). y agregar un parametro a la función, le cambie el nombre a la funcion para que sea más general, aqui el fix:
Código Javascript
:
Ver originalfunction fill_list(list, fillerID, name, someClass){
var filler = document.getElementById(fillerID);
var val = filler.value;
filler.value = "";
var input = document.createElement("input");
input.setAttribute("type", "text"); //text type input to see value
input.setAttribute("value", val); //value of input
input.setAttribute("readonly", ""); //avoid input changes
input.setAttribute("onfocus", "this.blur()"); //to avoid focus
input.setAttribute("name", name+"[]"); //set array of inputs
if(someClass != null){
input.setAttribute("class", someClass); //to add styles i guess?
}
document.getElementById(list).appendChild(input);
}
Entonces lo usas así
Código HTML:
Ver original<input onchange="fill_list('theList', this.id, 'sons', 'sonsInputs');" /> <element id="theList"></element>
Si no quieres darles clases solo quita el último parámetro
Código HTML:
Ver original<input onchange="fill_list('theList', this.id, 'sons');" /> <element id="theList"></element>
Edito otro fix, agrego evento focus y gatillar onblur a los inputs para deseleccionar automaticamente, ya que al ser readonly de todas maneras al hacer click en los inputs aparece el cursor de texto (barrita parpadeante), esto se arreglaría con disabled, el problema con este atributo es que no se envia a php.
Ahora si, saludos