Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2010, 17:45
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 9 meses
Puntos: 310
Validación formulario

Hola gente, estoy tratando de validar un formulario en JS, después ya pasará por el servidor. La cuestión es que tengo un select con varias opciones, si eliges por ejemplo 4 se crean 4 campos, y así sucesivamente. Pero si por ejemplo elijo 4, introduzco los datos, y después elijo 5, sólo se quedan los datos en el primer campo, y no en los demás. He hecho 1000 pruebas y no sé qué puede ser :S Por eso acudo a vosotros, aquí os dejo el código (es un poco espeso, lo siento ;)):
Código Javascript:
Ver original
  1. function ID(id){
  2.   return document.getElementById(id);
  3.  }
  4.  var n=1, l=1;
  5.  function addI(v){
  6.    switch(v.value){
  7.     case '+7':
  8.      ID('btn').style.display = 'block';
  9.      break;
  10.     default:
  11.      if(Int(v.value) > n){
  12.       for(j=0; j<Int(v.value)-l; j++){
  13.        ID('inicio').innerHTML+="<input type='text' name='coordx[]' id='cx"+n+"' size='10' class='input' /><br />";
  14.        ID('final').innerHTML+="<input type='text' name='coordy[]' id='cy"+n+"' size='10' class='input' /><br />";
  15.        n++;
  16.       }
  17.      }
  18.      break;
  19.   }
  20.   l = ID('inicio').getElementsByTagName('input').length+1;
  21.  }
  22.  function addC(){
  23.   ID('inicio').innerHTML += "<input type='text' name='coordx[]' id='cx"+n+"' size='10' class='input' /><br />";
  24.   ID('final').innerHTML += "<input type='text' name='coordy[]' id='cy"+n+"' size='10' class='input' /><br />"
  25.   n++;
  26.  }
Código HTML:
Ver original
  1. <ul>
  2.  <li>
  3.  <select id='colonias' name='colonias' onchange="addI(this);">
  4.    <option value="0" selected="selected">0</option>
  5.    <option value="1">1</option>
  6.    <option value="2">2</option>
  7.    <option value="3">3</option>
  8.    <option value="4">4</option>
  9.    <option value="5">5</option>
  10.    <option value="6">6</option>
  11.    <option value="7">7</option>
  12.    <option value="+7">+7</option>
  13.  </select>
  14.  <br /><br />
  15.  </li>
  16.  <li>
  17.   <fieldset style='width:20%;' id='f'>
  18.    <legend>Coordenadas:</legend>
  19.    <br />
  20.    <span class="texto">&nbsp;X:</span>
  21.    <input type='text' id='cx0' name='coordx[]' size='15'/>
  22.    <span id='inicio'></span>
  23.    <br /><br /><br />
  24.    <span class="texto">&nbsp;Y:</span>
  25.    <input type='text' id='cy0' name='coordy[]' size='15' />
  26.    <br />
  27.    <span id='final'></span>
  28.    <br />
  29.   </fieldset>  
  30.  <input type="button" value="Agregar campo" id='btn' onclick="addC();if(ID('inicio').getElementsByTagName('input').length>6) ID('colonias').disabled=true;" />
  31.  </li>
  32. </ul>
Gracias y saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red