Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: astinx en 5 Marzo 2012, 18:43 pm



Título: Duda sencilla sobre javascript
Publicado por: astinx en 5 Marzo 2012, 18:43 pm
Hola, estoy tratando de implementar un javascript que sencillamente lo que hace es al presionar un botón "Quiero registrarme" abra una serie de inputs para introducir datos personales como nombre, apellido, edad, etcétera. El problema es que yo quiero que el usuario presione una sola vez el botón "Quiero registrarme" y luego este desaparezca (No que se oculte, sino que se borre). Sin mas preámbulos les muestro mi código:

Código
  1. function mostrar_registro() {
  2. if (registrarseOn == false) {
  3. var nombre = document.createElement('input');
  4. nombre.setAttribute('name','nombre');
  5. nombre.setAttribute('value','Ingrese su nombre aqui.');
  6. var email = document.createElement('input');
  7. email.setAttribute('name','email');
  8. email.setAttribute('value','Ingrese su email de usuario aqui.');
  9. var apellido = document.createElement('input');
  10. apellido.setAttribute('name','apellido');
  11. apellido.setAttribute('value','Ingrese su apellido aqui.');
  12. var nick = document.createElement('input');
  13. nick.setAttribute('name','nick');
  14. nick.setAttribute('value','Ingrese su nick aqui.');
  15. var universidad = document.createElement('input');
  16. universidad.setAttribute('name','universidad');
  17. universidad.setAttribute('value','Ingrese su universidad aqui.');
  18. var edad = document.createElement('input');
  19. edad.setAttribute('name','edad');
  20. edad.setAttribute('value','Ingrese su edad aqui.');
  21.  
  22. var p1 = document.createElement('p');
  23. var p2 = document.createElement('p');
  24. var p3 = document.createElement('p');
  25. var p4 = document.createElement('p');
  26. var p5 = document.createElement('p');
  27. var p6 = document.createElement('p');
  28.  
  29. p1.appendChild(document.createTextNode("Ingrese su email"));
  30. p1.appendChild(email);
  31. p2.appendChild(document.createTextNode("Ingrese su nick"));
  32. p2.appendChild(nick);
  33. p3.appendChild(document.createTextNode("Ingrese su nombre"));
  34. p3.appendChild(nombre);
  35. p4.appendChild(document.createTextNode("Ingrese su apellido"));
  36. p4.appendChild(apellido);
  37. p5.appendChild(document.createTextNode("Ingrese su edad"));
  38. p5.appendChild(edad);
  39. p6.appendChild(document.createTextNode("Ingrese su universidad"));
  40. p6.appendChild(universidad);
  41.  
  42. document.registrar.appendChild(p1);
  43. document.registrar.appendChild(p2);
  44. document.registrar.appendChild(p3);
  45. document.registrar.appendChild(p4);
  46. document.registrar.appendChild(p5);
  47. document.registrar.appendChild(p6);
  48. registrarseOn=true;
  49.                                        //Esta es la linea que me da problemas!
  50. document.registrar.removeChild(document.registrar.resitrarse);
  51. }
  52. }
  53. </script>

La parte del HTML que tendría que borrar seria:

Código
  1. <div id="form_registro">
  2. <form name="registrar" method="POST" action="registrar.php">
  3. <p>
  4. <input type="button" value="Me quiero registrar" name="registrarse" onclick= "mostrar_registro()">
  5. </p>
  6. </form>
  7. </div>

He intentado de varias formas como por ejemplo, primero consiguiendo el nodo mediante getElementById y despues pasandoselo como parametro al removeChild, sin embargo tampoco resulto, seguro que debe ser algo muy tonto que no estoy viendo. Si alguien tiene alguna info respecto al tema o puede ver el error que estoy cometiendo, se los agradecería.

Muchas gracias por detenerse a leer, saludos!


Título: Re: Duda sencilla sobre javascript
Publicado por: astinx en 5 Marzo 2012, 18:56 pm
Noob error, la linea correcta era form_registro.removeChild(form_registro.registrarse);

Saludos!


Título: Re: Duda sencilla sobre javascript
Publicado por: astinx en 9 Marzo 2012, 01:01 am
Lo siento, corrección, la linea correcta es:
var boton = document.getElementById('boton_registrarse');
boton.parentNode.removeChild(boton);