Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2015, 03:29
baditxuk
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
recuperar valor de grupo de opcion

Hola.

Tengo un formulario donde una parte consiste en pasar un valor numérico. Este valor se elige entre un grupo de opción donde aparecen valores fijos y otro de "otra cantidad".

Lo tengo programado que cuando elijo una opción de valor fijo, el botón de enviar esta habilitado. Cuando elijo la opción de "otra cantidad", me sale un campo de texto para introducir la cantidad y el botón de enviar se deshabilita. Una vez que introduces un valor (solo numérico), el botón se habilita.

PROBLEMA:

Cuando selecciono una cantidad fija me recupera el valor correctamente.
Cuando selecciono el de "otra cantidad" e introduzco la cantidad, a la hora de recuperarlo no me recupera bien el valor.

Gracias.

Codigo:
Código:
<script language="javascript" type="text/javascript">

    function chequea(campo, boton) {
	
        if (campo.value != "") {
            boton.disabled = false;
        } else {
            boton.disabled = true;
        }
    }

    function mostrarReferencia(campo, boton) {
	
		if (document.form.Importe_0.checked || document.form.Importe_1.checked || document.form.Importe_2.checked) {
		 
		document.getElementById('desdeotro').style.display = 'none';
		document.form.enviar.disabled = false;
		 
		}else if(document.form.Importe_3.checked && document.form.Importe_3_2.value.length!=0){
		 
		document.getElementById('desdeotro').style.display = 'block';
		document.form.enviar.disabled = false;
		 
		}else if(document.form.Importe_3.checked){
		 
		document.getElementById('desdeotro').style.display = 'block';
		document.form.enviar.disabled = true;
		}
    }

    function validarNumeros(e) {
        tecla = (document.all) ? e.keyCode : e.which;
        if (tecla == 8) return true;
        if (tecla == 109) return true;
        if (tecla == 110) return true;
        if (tecla == 189) return true;
        if (e.ctrlKey && tecla == 86) { return true };
        if (e.ctrlKey && tecla == 67) { return true };
        if (e.ctrlKey && tecla == 88) { return true };
        if (tecla >= 96 && tecla <= 105) { return true; }
        patron = /[0-9]/;
        te = String.fromCharCode(tecla);
        return patron.test(te);
    }
</script>
</HEAD>
<body>
<form name="form" method="post" action="ppptpv.asp">
	<input name="Importe" type="radio" value="50" id="Importe_0" onclick="mostrarReferencia(this,this.form.enviar);" checked>50&euro;
    <input name="Importe" type="radio" value="100" id="Importe_1" onclick="mostrarReferencia(this,this.form.enviar);">100&euro; 
    <input name="Importe" type="radio" value="300" id="Importe_2" onclick="mostrarReferencia(this,this.form.enviar);">300&euro;
	
	<input name="Importe" type="radio" value="" id="Importe_3" onclick="mostrarReferencia(this,this.form.enviar);" >OTRA CANTIDAD
					
    <div id="desdeotro" style="display:none;">
		<input name="Importe" size="10" type="text" value="" id="Importe_3_2" onKeyUp="chequea(this,this.form.enviar)" onKeyDown="return validarNumeros(event)"> &euro; 
	</div>
	<INPUT id="boton" name="enviar" TYPE="submit" VALUE="Colaborar">
</form>

Última edición por Panino5001; 08/01/2015 a las 07:19 Razón: agregar tag code