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>