Foros del Web » Programando para Internet » Javascript »

Como hago para habilitar un textbox con un radio button e insertar a mi BD

Estas en el tema de Como hago para habilitar un textbox con un radio button e insertar a mi BD en el foro de Javascript en Foros del Web. hola amigos, supuse que aca era el mejor lugar para postear este problema. tengo el siguiente codigo donde me da opciones para elegir tipos de ...
  #1 (permalink)  
Antiguo 29/01/2009, 14:36
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Como hago para habilitar un textbox con un radio button e insertar a mi BD

hola amigos, supuse que aca era el mejor lugar para postear este problema.

tengo el siguiente codigo donde me da opciones para elegir tipos de vivienda, mediante radio buttons, y al hacer en otro me habilita el textbox de abajo, pero el problema es que al enviar los datos en mi BD no me inserta lo que le puse en el texbox, intente varias formas pero no me convence ninguna.

Código HTML:
<script languaje="javascript">
function habilita(form)
{
form.otro_vivienda.disabled=false;
}

function deshabilita(form)
{
form.otro_vivienda.disabled=true;
}
</script>
</head>
<body>
<form name="ejemplo1" action="05.php" method="post">
¿Tipo de Vivienda? <br>
<input type="radio" name="vivienda" value="propia" checked onClick="deshabilita(this.form)"> Propia.<br />
<input type="radio" name="vivienda" value="alquilada" checked onClick="deshabilita(this.form)"> Alquilada.<br />
<input type="radio" name="vivienda" value="anticretico" checked onClick="deshabilita(this.form)"> Anticr&eacute;tico.<br />
<input type="radio" name="vivienda" value="prestada" checked onClick="deshabilita(this.form)"> Prestada.<br />
<input type="radio" name="vivienda" value="otro" onClick="habilita(this.form)"> Otro.
<br><br>
Seleccione los temas de su interés:<br>
<input type="text" name="vivienda" /><br />

<INPUT type = "submit" value = "Enviar" >
<INPUT type = "reset" value = "Borrar" >
</form> 
y el PHP

Código PHP:
$sql "INSERT INTO vivienda (tipo) VALUES (";
$sql .= "'".$_POST["vivienda"]."'";
$sql .= ")";


mysql_query($sql);
mysql_close(); 
saludos
  #2 (permalink)  
Antiguo 30/01/2009, 01:49
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Respuesta: Como hago para habilitar un textbox con un radio button e insertar a mi BD

Para ver qué es lo que pasa te recomiendo que en 05.php pongas:

<?
print_r($_REQUEST);
?>

Así sabrás cómo se pasa el valor. En cualquier caso, si quieres evitarte líos puedes poner un input hidden con el name que quieras (vivienda2 por ejemplo) y decirle a los radio que cuando sean pinchados que pasen su valor al hidden. Así:

<input type="hidden" name="vivienda2" />

<input type="radio" name="vivienda" value="propia" onClick="this.form.vivienda2.value = this.value;deshabilita(this.form)"> Propia.<br />
<input type="radio" name="vivienda" value="alquilada" onClick="this.form.vivienda2.value = this.value;deshabilita(this.form)"> Alquilada.<br />
<input type="radio" name="vivienda" value="anticretico" onClick="this.form.vivienda2.value = this.value;deshabilita(this.form)"> Anticr&eacute;tico.<br />
<input type="radio" name="vivienda" value="prestada" onClick="this.form.vivienda2.value = this.value;deshabilita(this.form)"> Prestada.<br />
<input type="radio" name="vivienda" value="otro" onClick="this.form.vivienda2.value = this.value;habilita(this.form)"> Otro.

Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 30/01/2009, 06:35
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Como hago para habilitar un textbox con un radio button e insertar a mi BD

uhhh muchas gracias, lo pondre en practica
  #4 (permalink)  
Antiguo 05/02/2009, 10:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Como hago para habilitar un textbox con un radio button e insertar a mi BD

Yo lo hice de la siguiente manera, espero te sirva.

Javascript
Código:
<script languaje="javascript">
function habilita(form)
{
form.vivienda2.disabled=false;
}

function deshabilita(form)
{
form.vivienda2.disabled=true;
}

function submitForm(form){
oForm = window.document.forms[form];
formLen 	 = oForm.elements.length

	for (i=0; i<formLen; i++)
	{
		switch (oForm.elements[i].type)
		{
			case 'radio':
			if (oForm.elements[i].checked)
				if (oForm.elements[i].value != 'otro'){
					valor = oForm.elements[i].value;
					document.forms[form].vivienda3.value = valor;
				}
				else
				{
				if (document.forms['ejemplo1'].vivienda2.value != '' && document.forms['ejemplo1'].vivienda2.value!=0)
							{
			valor = document.forms['ejemplo1'].vivienda2.value;
			document.forms[form].vivienda3.value = valor;
							}
				else{
					alert('Debe ingresar un tipo de vivienda');
					return false
				}
			}
			break;
			
		}
	}
	window.document.forms[form].submit()
}

</script>
HTML
Código:
<body onload="javascript:document.forms[0].vivienda2.disabled=true;">
<form name="ejemplo1" id="f1" method="post" action="test1.php">
¿Tipo de Vivienda? <br>
<input type="radio" name="vivienda" value="propia" checked="checked" onClick="deshabilita(this.form)"> Propia.<br />
<input type="radio" name="vivienda" value="alquilada"  onClick="deshabilita(this.form)"> Alquilada.<br />
<input type="radio" name="vivienda" value="anticretico"  onClick="deshabilita(this.form)"> Anticr&eacute;tico.<br />
<input type="radio" name="vivienda" value="prestada"  onClick="deshabilita(this.form)"> Prestada.<br />
<input type="radio" name="vivienda" value="otro" onClick="habilita(this.form)"> Otro.
<br><br>
Seleccione los temas de su interés:<br>
<input type="text" name="vivienda2" /><br />
<input type="hidden" name="vivienda3" />
<INPUT type = "button" value = "Enviar" onclick="javascript:submitForm(this.form.name);" >
<INPUT type = "reset" value = "Borrar" >
</form>
</body>
Lo que hago en la parte del HTML es crear un campo HIDDEN con nombre vivienda3 y con JS una vez que evalua ciertas condiciones almacena en esa variable el valor de vivienda. Luego en el PHP solo capturo el valor mediante el metodo POST.

PHP
Código PHP:
$vivienda $_POST['vivienda3']; 
Saludos

Fenris
  #5 (permalink)  
Antiguo 05/02/2009, 10:50
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Como hago para habilitar un textbox con un radio button e insertar a mi BD

ufa, gracias lo probare
  #6 (permalink)  
Antiguo 05/02/2009, 12:36
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Como hago para habilitar un textbox con un radio button e insertar a mi BD

Lo mas sencillo seria crear un <div> oculto y dentro de este un campo de texto que quieres mostrar al pusar el radio. Vamos a la practica:

Cita:
<input id="Otro" name="Otro" type="radio" value="Otros" onClick="showMe('oculto', this)" >
El código anterior, no es más que el radio de la opción "Otros". Como puedes ver, tiene una función "showMe('oculto', this)" que es una función en javascipts, la cual es envocada con el evento "onClick" . La función tiene un parametro "oculto" que responde al id que le asignaremos al campo de texto. Ademas, tiene un segundo parametro "this" que indica que la función responderá a los estados (marcado - no marcado) de ese radio en especifico.

Ahora creamos el campo de texto que queremos mostrar, dentro de un <div> oculto:

Cita:
<div id="oculto" style="display:none" >

<input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="" >
.
.
.
</div>
Como ves el <div> tiene asignado como id a "oculto" que lo pasamos como referencia en el codigo anterior. Y "display: none", que es para mostrar nada de lo que se encuentra dentro del <div>. Pasemos a desarrollar lo mas importante, la función "showMe" encargada de mostrar u ocultar el campo de texto oculto según este activo o inactivo el radio "Otros".

Cita:
<script type="text/javascript">
<!--
function showMe (it, box) {
var vis = (box.checked) ? "block" : "none";
document.getElementById(it).style.display = vis;
}
//-->
</script>
Creo que la funcion es bien explicita, lo que hace es asignar "block" o "none" al <div> según este su estado (si esta visible lo coloca invisible y viceversa).

Bueno espero que te sirva de ayuda... No esta de mas, decirte que todos los input deben estar dentro del formulario <form>aqui</form>. Saludos
  #7 (permalink)  
Antiguo 05/02/2009, 15:52
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Como hago para habilitar un textbox con un radio button e insertar a mi BD

uy que bueno mas opciones, muchas gracias probare todo.
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.