Foros del Web » Programando para Internet » Javascript »

Validar un campo segun la opcion que seleccione en una lista

Estas en el tema de Validar un campo segun la opcion que seleccione en una lista en el foro de Javascript en Foros del Web. Hola a todos. Estoy terminado un formulario que inserta a una base de datos en este formulario tengo dos campos en el primero preguntan si ...
  #1 (permalink)  
Antiguo 09/05/2007, 16:07
 
Fecha de Ingreso: junio-2003
Ubicación: bogota
Mensajes: 5
Antigüedad: 20 años, 10 meses
Puntos: 0
Validar un campo segun la opcion que seleccione en una lista

Hola a todos.

Estoy terminado un formulario que inserta a una base de datos en este formulario tengo dos campos en el primero preguntan si tiene tarjeta o no y en el segundo campo piden el numero de tarjeta.

Lo que quiero es que cuando selecionen que si tiene tarjeta el campo en donde debe ingresar el numero quede como obligatorio.

Este es el codigo que tengo, de antemano mucha gracias si alguno sabe como lo puedo hacer.

<head>
<title>Prueba</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">

<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>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 10/05/2007, 00:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Validar un campo segun la opcion que seleccione en una lista

Hola:

Más o menos así:

<form onsubmit="if (TARJETA.value == 'S' && NUMERO.value.length == 0) return false"...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 10/05/2007, 09:40
 
Fecha de Ingreso: junio-2003
Ubicación: bogota
Mensajes: 5
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Validar un campo segun la opcion que seleccione en una lista

Hola mil gracias por tu ayuda trate de hacerlo pero tengo un problema y es que no me envia el formulario ya me esta validando si tiene valor o no en el anterior codigo no tenia el boton enviar gracias de antemano por la ayuda.

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>
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 08:22.