Foros del Web » Programando para Internet » Javascript »

Función que me muestra en pantalla lo que le pido pero borra lo que había.

Estas en el tema de Función que me muestra en pantalla lo que le pido pero borra lo que había. en el foro de Javascript en Foros del Web. Hola amigos, el siguiente código me genera dos botones de radio, que al seleccionarlos llaman a una función la cual muestra un campo de texto ...
  #1 (permalink)  
Antiguo 14/10/2010, 17:02
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación Función que me muestra en pantalla lo que le pido pero borra lo que había.

Hola amigos, el siguiente código me genera dos botones de radio, que al seleccionarlos llaman a una función la cual muestra un campo de texto u otro según el botón de radio que se haya seleccionado.
El problema es que al hacerlo me elimina los botones de radio y sólo veo el campo de texto correspondiente en la ventana del navegador, y yo lo que quiero es que se sigan viendo los botones de radio y al seleccionarlos me genere el campo de texto debajo de ellos.

Imagino que el problema tiene fácil solución pero no doy con ella
Gracias adelantadas.


Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"
>
<html lang="en">
<head>
<title><!-- Insert your title here --></title>
</head>
<body>
<script language="javascript">

function detcliente()
{

if (document.f1.tipousuario[0].checked == true)
{muestra = 'Nombre de Contacto:<br><input type="text" name="contacto"><br><br>';}
else
{muestra = 'Nombre de la Empresa:<br><input type="text" name="contacto"><br><br>';}
document.write (muestra)
document.close()

}
</script>

<form name="f1" method="post" action="" enctype="multipart/form-data">

Soy:<br><input type="radio" name="tipousuario" onchange="detcliente()">Particular<br>
<input type="radio" name="tipousuario" onchange="detcliente()">Empresa<br>


</form>
</body>
</html>
  #2 (permalink)  
Antiguo 14/10/2010, 17:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Función que me muestra en pantalla lo que le pido pero borra lo que había.

Hola:

Acuérdate que document.write, escribe en el documento, pero en el sitio que se corresponda con el flujo de datos... y si no existe ese flujo (cuando la página se carga), lo inicia desde el principio... resumiendo, machaca lo que existiese en la página...

Lo que puedes hacer es mostrar los datos en un campo de un formulario (con cuidado de no poner botones para enviarlo...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/10/2010, 19:17
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Función que me muestra en pantalla lo que le pido pero borra lo que había.

No me va a servir esa solución, porque lo que quiero que se escriba es un formulario completo, con muchos campos, que serán diferentes según la opción escogida con botón de radio, e irán variando según se vayan rellenando los campos anteriores.

Es posible hacer esto con javascript? Javascript no sirve para esto y tendría que hacerlo con Ajax?
  #4 (permalink)  
Antiguo 15/10/2010, 01:52
Avatar de Naguissa  
Fecha de Ingreso: junio-2008
Mensajes: 37
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Función que me muestra en pantalla lo que le pido pero borra lo que había.

Puedes crear ambos formularios y mostrar sólo el que está seleccionado. Si pones cada uno dentro de un "div" y les das unas IDs puedes cambiarles la propiedad CSS "display" a "block" o "none"
  #5 (permalink)  
Antiguo 24/10/2010, 12:18
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Función que me muestra en pantalla lo que le pido pero borra lo que había.

Gracias por las respuestas, he hecho lo de mostrar/ocultar los divs y de momento me va bien.
Ahora tengo otra duda: como puedo llamar a dos funciones mediante la técnica de los manejadores de eventos semánticos??
Lo estoy intentando así pero no me funciona:
Código:
window.onload = function()
{
document.getElementById("objeto").onclick = cambiar, seleccionar;
}
En cambio me funciona bien si lo hago llamando a las funciones desde el elemento que provoca el onclick:
Código:
<select name="objeto" id="objeto" size="6" onclick="cambiar(),seleccionar()" >
  #6 (permalink)  
Antiguo 24/10/2010, 12:52
Avatar de Naguissa  
Fecha de Ingreso: junio-2008
Mensajes: 37
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Función que me muestra en pantalla lo que le pido pero borra lo que había.

Cita:
Iniciado por yarboclo Ver Mensaje
Gracias por las respuestas, he hecho lo de mostrar/ocultar los divs y de momento me va bien.
Ahora tengo otra duda: como puedo llamar a dos funciones mediante la técnica de los manejadores de eventos semánticos??
Lo estoy intentando así pero no me funciona:
Código:
window.onload = function()
{
document.getElementById("objeto").onclick = cambiar, seleccionar;
}
En cambio me funciona bien si lo hago llamando a las funciones desde el elemento que provoca el onclick:
Código:
<select name="objeto" id="objeto" size="6" onclick="cambiar(),seleccionar()" >

Código:
window.onload = function()
{
document.getElementById("objeto").onclick = function () { cambiar(); seleccionar(); }
}
  #7 (permalink)  
Antiguo 24/10/2010, 13:09
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Función que me muestra en pantalla lo que le pido pero borra lo que había.

Mil gracias, es lo que buscaba ;D

Etiquetas: muestra, pantalla
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 18:38.