Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2012, 09:01
educacanis
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 14 años, 1 mes
Puntos: 12
el número de inputs que existe siempre coincide con un número.

Hola, tengo que la siguiente función en Javascript que me permite crear unos div con inputs según el número elegido en una lista/menú de un formulario:

Código Javascript:
Ver original
  1. function crear(obj) {
  2.     var num
  3.     var max = document.getElementById("tiradores").value;
  4. for (num=1;num<=max;num++) {
  5.   fi = document.getElementById('fiel');
  6.   contenedor = document.createElement('div');
  7.   contenedor.id = 'div'+num;
  8.   fi.appendChild(contenedor);
  9.  
  10.   ele1 = document.createElement('input');
  11.   ele1.type = 'text';
  12.   ele1.size = 5 ;
  13.   ele1.name = 'fil'+num;
  14.   contenedor.appendChild(ele1);
  15.  
  16.   ele2 = document.createElement('input');
  17.   ele2.type = 'text';
  18.   ele2.size = 50 ;
  19.   ele2.name = 'tir'+num;
  20.   contenedor.appendChild(ele2);
  21. }
  22. }

el formulario de donde elijo el número es el siguiente y me crea los campos es el siguiente:

Código HTML:
<label class="seccion">Número de Tiradores (participantes del club)
      <select name="tiradores" id="tiradores">
        <option value="1" selected="selected">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
      </select>
    </label>
    <input type="button" value="Añadir" onclick="crear(this)" /> 
Si le doy sólo una vez al botón me muestra tantos campos como he puesto, sin embargo si le vuelvo a dar con el mismo número o cambiado me añade más campos, es decir si la primera vez elijo 2 y la segunda 3 me aparece un total de 5 campos, yo lo que quiero es que el número de campos siempre sea igual al value establecido, es decir si elijo el 5 me crea 5 campos, pero si cambio de opinión y elijo un 3 quiero que me borre 2 campos y sean sólo 3 (en vez de añadirme 3 y quedarme con 8)

espero haberme explicado y que me podáis ayudar, no sé como hacerlo.