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é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