Foros del Web » Programando para Internet » Javascript »

Validar campo en un formulario segun la opcion que seleccione en una lista

Estas en el tema de Validar campo en un formulario segun la opcion que seleccione en una lista en el foro de Javascript en Foros del Web. Hola estoy tratando de validar si un usuario selecion en un campo Si que ingrese un numero en otro campo. En el boton de enviar ...
  #1 (permalink)  
Antiguo 11/05/2007, 10:41
 
Fecha de Ingreso: junio-2003
Ubicación: bogota
Mensajes: 5
Antigüedad: 20 años, 10 meses
Puntos: 0
Validar campo en un formulario segun la opcion que seleccione en una lista

Hola estoy tratando de validar si un usuario selecion en un campo Si que ingrese un numero en otro campo.

En el boton de enviar forma coloque:

<form action="" method="post" name="form1" id="form1" onsubmit= "if (TARJETA.value == 'S' && NUMERO.value.length == 0) MM_validateForm('NUMERO','','R');return document.MM_returnValue">


Pero al hacer las pruebas algo me falla efectivamente si me sale el mensaje que el campo esta vacio que por favor lo ingrese pero cuando la persona lo ingresa no le permite enviar la información

Si alguno me pueda ayudar le agradeceria mucho

El codigo completo es:


<head>
<title>Prueba</title>
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es necesario.\n'; }
} if (errors) alert('Por favor ingrese el numero de tarjeta:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body>

<form action="" method="post" name="form1" id="form1" onsubmit= "if (TARJETA.value == 'S' && NUMERO.value.length == 0) MM_validateForm('NUMERO','','R');return document.MM_returnValue">

<p align="center">
<select name="TARJETA" id="TARJETA">
<option value="S">Si</option>
<option value="N">No</option>
</select>
</p>

<p align="center">
<input name="NUMERO" type="text" id="NUMERO" />
</p>
<p align="center">
<input type="submit" name="Submit" value="Enviar">
</p>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 11/05/2007, 10:52
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Validar campo en un formulario segun la opcion que seleccione en una lista

Hola hark

Políticas de Foros del Web

Políticas de Foros del Web

2.4 No está permitido iniciar dos o más temas con respecto al mismo tópico o asunto, ni publicar dos o más mensajes cuyos contenidos coincidan dentro de un mismo tema en un mismo foro o en varios foros. Dichos temas o mensajes publicados podrán ser eliminados o unidos sin aviso previo o posterior.

Mensaje cerrado.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 00:03.