Foros del Web » Programando para Internet » Javascript »

Problema colocando input dinámicamente

Estas en el tema de Problema colocando input dinámicamente en el foro de Javascript en Foros del Web. Hola a todos!, os resumo mi problema a ver si alguien puede ayudarme, creo que debe ser algo fácil pero no tengo demasiadas nociones de ...
  #1 (permalink)  
Antiguo 07/02/2010, 09:50
 
Fecha de Ingreso: enero-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema colocando input dinámicamente

Hola a todos!, os resumo mi problema a ver si alguien puede ayudarme, creo que debe ser algo fácil pero no tengo demasiadas nociones de js y llevo varios dias atascado.
Mi objetivo es hacer un formulario, en el que tengo un input(llamado pais) con un boton Añadir.
Al hacer click en añadir saco nuevos inputs que no estaban antes y los coloco bajo el input "pais", debajo de todo esto tengo un boton Enviar Registro.Todo funciona como es debido excepto por que los nuevos inputs se colocan bajo el botón Enviar Registro, en lugar de encima de este botón (y bajo el input "pais" que es donde quiero que se coloque):
Aqui va el código del que hablo
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<link href="../includes/estilos.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
<!--

num=0;
function crear(obj) {

  if (num <= 1) {
     num++;
     fi = document.getElementById('fiel'); 
     contenedor = document.createElement('div'); 
     contenedor.id = 'div'+num; 
     fi.appendChild(contenedor); 
     /*****************/
    ele = document.createElement('input');
    ele.type = 'text'; 
    ele.className = 'impCol';	
    contenedor.appendChild(ele); 
  
    ele = document.createElement('input'); 
    ele.type = 'button'; 
    ele.value = 'Borrar'; 
    ele.name = 'div'+num;
    ele.className ='impCol';
    ele.onclick = function () {borrar(this.name)} 
    contenedor.appendChild(ele); 
    } else {
  	  alert ('Máximo de 3 .');
    }
}
function borrar(obj) {
  num--;
  fi = document.getElementById('fiel'); // 1 
  fi.removeChild(document.getElementById(obj)); // 10
}
--> 
</script>
</head>

<body>
          <div id="fiel">
                <label for="textfield">País:</label>
                <input class ="impCol" type="text" maxlength="20" name="pais" id="pais" size="20"/>
                <input class ="impCol" type="button" value="Añadir" onclick="crear(this)" />
           </div>   
           
           <input class ="impCol" type="submit" name="reg" id="reg" value="Enviar Registro" />                           
      
</body>
</html> 

Esto funciona(a no ser que al quitar las partes no importantes haya quitado algo), lo único que mi nuevo input se genera debajo de Enviar Registro y necesito que se genere entre Enviar Registro y el input Pais.

He probado añadiendo en la linea comentada esto:

fi.insertAfter(contenedor,obj);

Pero firebug me da un error diciendo que el nodo obj no existe, cosa extraña pues es el que mando a la función.

Alguna idea o sugenrencia?
Gracias de antemano

Última edición por molinos; 07/02/2010 a las 09:58 Razón: motivos ortográficos ;)
  #2 (permalink)  
Antiguo 07/02/2010, 10:03
Avatar de orchating  
Fecha de Ingreso: marzo-2009
Ubicación: Madrid
Mensajes: 92
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema colocando input dinámicamente

E probado tu codigo y al añadir, se genera entre el primero osease pais y enviar registro, pruebalo a mi me funciona
  #3 (permalink)  
Antiguo 07/02/2010, 10:09
 
Fecha de Ingreso: enero-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema colocando input dinámicamente

, es cierto, no puedo creerlo, debe ser entonces alguna de las partes del formulario que he quitado para postear aqui las que hacen que me vaya mal, voy a revisarlo!, gracias

Última edición por molinos; 07/02/2010 a las 10:09 Razón: sss
  #4 (permalink)  
Antiguo 07/02/2010, 10:35
 
Fecha de Ingreso: enero-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema colocando input dinámicamente

pues era culpa de un div no de js, al quitar todo para postearlo mas claro ha funcionado y ya he vto cual era. Era una tonteria , pero llevaba 2 dias dandole vueltas al js creyendo que era culpa suya :(

Última edición por molinos; 07/02/2010 a las 10:49 Razón: aaa

Etiquetas: input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:51.