Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/10/2017, 19:31
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Relacion entre usuarios

Quiero hacer un fix a la funcion, deje como constante el atributo class:

Código Javascript:
Ver original
  1. input.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 original
  1. function fill_list(list, fillerID, name, someClass){
  2. var filler = document.getElementById(fillerID);
  3. var val = filler.value;
  4. filler.value = "";
  5.  
  6. var input = document.createElement("input");
  7. input.setAttribute("type", "text"); //text type input to see value
  8. input.setAttribute("value", val); //value of input
  9. input.setAttribute("readonly", ""); //avoid input changes
  10. input.setAttribute("onfocus", "this.blur()"); //to avoid focus
  11. input.setAttribute("name", name+"[]"); //set array of inputs
  12.  
  13. if(someClass != null){
  14. input.setAttribute("class", someClass); //to add styles i guess?
  15. }
  16.  
  17. document.getElementById(list).appendChild(input);
  18. }

Entonces lo usas así

Código HTML:
Ver original
  1. <input onchange="fill_list('theList', this.id, 'sons', 'sonsInputs');" />
  2. <element id="theList"></element>

Si no quieres darles clases solo quita el último parámetro

Código HTML:
Ver original
  1. <input onchange="fill_list('theList', this.id, 'sons');" />
  2. <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

Última edición por alvaro_trewhela; 31/10/2017 a las 08:18