Hice un pequeño buscador que realiza las búsquedas en base a 3 parametros distintos: ID, NOMBRE ó TELEFONO, estos 3 criterios de búsqueda estan disponibles en un "radio button" respectivamente, dependiendo dela opcion que seleccione se activa una validacion, es decir, para ID y TELEFONO solo pueden escribirse números y para NOMBRE solo letras, la validación la hace como debe ser y funciona perfecto para hacer busquedas por ID, el problema esta en que cuando yo selecciono la opcion NOMBRE ó la opcion TELEFONO me hace la validación respectiva, pero cuando le doy al boton buscar siempre pone "CHECKED" el radio button del ID, por lo que no me respeta la sentencia de búsqueda y "truena" la aplicación...

¿¿no sé si me explique...??

este es el código que estoy usando para la validación:
Código HTML:
<script language="javascript"> function verifica() { var x; x=1; if((window.frmbuscarcta.buscar.value=='')||(window.frmbuscarcta.criterio[0].checked=0)) { x=0; alert("¡Es NECESARIO especificar un criterio y\nseleccionar una opción de Búsqueda!"); frmbuscarcta.buscar.value='';frmbuscarcta.buscar.focus();return; } if(x==1) { if((window.frmbuscarcta.criterio[0].checked)=1) { var checkOK = "1234567890"; var checkStr = frmbuscarcta.buscar.value; var allValid = true; for (i=0;i<checkStr.length;i++) { ch=checkStr.charAt(i); for (j=0; j<checkOK.length; j++) if (ch==checkOK.charAt(j)) break; if (j==checkOK.length) { allValid = false; break; window.frmbuscarcta.seccret.value=1; window.frmbuscarcta.submit(); } } if (!allValid) { todobien = "no"; alert("¡Para realizar búsquedas por ID es necesario\n\tintroducir SOLO NÚMEROS!"); frmbuscarcta.buscar.value='';frmbuscarcta.buscar.focus();return; } } if((window.frmbuscarcta.criterio[0].checked)=2) { var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" ; var checkStr = frmbuscarcta.buscar.value; var allValid = true; for (i=0;i<checkStr.length;i++) { ch=checkStr.charAt(i); for (j=0; j<checkOK.length; j++) if (ch==checkOK.charAt(j)) break; if (j==checkOK.length) { allValid = false; break; window.frmbuscarcta.seccret.value=1; window.frmbuscarcta.submit(); } } if (!allValid) { todobien = "no"; alert("¡Para este tipo de búsqueda es necesario\n\tintroducir SOLO LETRAS!"); frmbuscarcta.buscar.value='';frmbuscarcta.buscar.focus();return; } } if((window.frmbuscarcta.criterio[0].checked)=3) { var checkOK = "1234567890"; var checkStr = frmbuscarcta.buscar.value; var allValid = true; for (i=0;i<checkStr.length;i++) { ch=checkStr.charAt(i); for (j=0; j<checkOK.length; j++) if (ch==checkOK.charAt(j)) break; if (j==checkOK.length) { allValid = false; break; window.frmbuscarcta.seccret.value=1; window.frmbuscarcta.submit(); } } if (!allValid) { todobien = "no"; alert("¡Para este tipo de búsqueda es necesario\n\tintroducir SOLO NÚMEROS!"); frmbuscarcta.buscar.value='';frmbuscarcta.buscar.focus();return; } } } } </script>
Código HTML:
<table align="center" width="650"> <form name="frmbuscarcta" method="post" > <tr> <td class="interfaz" align="center"> <input style="height:18; width:300;" type="text" class="interfaz" name="buscar"/> <input style="height:20;" class="btn3" type="button" value="¡Buscar!" onclick="verifica()"/> </td> </tr> </table> <table align="center" width="520"> <tr> <td class="interfaz" align="right">Buscar por:</td> <td class="interfaz" align="left"> <input name="criterio" type="radio" style="width:30;" value="1"/> Id de la Cuenta <input name="criterio" type="radio" style="width:30;" value="2"/> Nombre/Razón Social <input name="criterio" type="radio" style="width:30;" value="3"/> Nº Telefónico </td> </tr> </table> </form>
Saludos...