Saludos a todos los visitantes a este excelente foro...
Hoy tratando de hacer una funcion javascript que no me permita enviar el formulario hasta cuando los campos esten llenos, me di cuenta que tenia un problema y para hacer sincero no hallo como solucionarlo. El inconveniente como tal esta en que yo ejecuto una busqueda cuando el usuario escribe una cedula de identidad en el textbox: txtCed, entonces se debe de enviar el form y luego retorna los datos de esa persona, en caso que la cedula no pertenezca a nadie yo le activo el boton de insertar para que pueda registrarlo. Esta es la funcion:
Código HTML:
<script type="text/javascript">
function validarForm(formulario) {
var filtro = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/; // filtro para el email correcto
if (formulario.txtCed.value == "") {
formulario.txtCed.focus();
alert('No has digitado la Cédula.')
return false;
}
if (formulario.txtCed.value.length < 9) {
formulario.txtCed.focus();
alert('La Cédula debe de contener al menos 9 números.');
return false;
}
if (formulario.txtNom.value == "") {
formulario.txtNom.focus();
alert('No has digitado el Nombre.')
return false;
}
if (formulario.txtApe1.value == "") {
formulario.txtApe1.focus();
alert('No has digitado el Primer Apellido.');
return false;
}
if (formulario.txtApe2.value == "") {
formulario.txtApe2.focus();
alert('No has digitado el Segundo Apellido.');
return false;
}
if (formulario.txtTel.value == "") {
formulario.txtTel.focus();
alert('No has digitado el Número Telefonico');
return false;
}
if (isNaN(formulario.txtTel.value)) {
formulario.txtTel.focus();
alert('El Número Telefonico solo debe de contener Números.');
return false;
}
if (formulario.txtEmail.value == "") {
formulario.txtEmail.focus();
alert('No has digitado el Email.');
return false;
}
if (!filtro.test(formulario.txtEmail.values)) {
formulario.txtEmail.focus();
alert('Digite un Email valido, ejemplo: [email protected]');
return false;
}
if (formulario.txtDirec.value == "") {
formulario.txtDirec.focus();
alert('No has digitado la Dirección.');
}
if (formulario.txtDirec.value.length < 30) {
formulario.txtDirec.focus();
alert('Digite una Dirección más exacta.');
return false;
}
return true;
}
</script>
Luego llamo esa funcion aqui:
Código HTML:
<form id="form1" runat="server" onsubmit="return validarForm(this);">
La cuestion es que el siempre me va a validar y aunque yo digite una cedula de identidad la funcion siempre me va a pedir que digite el nombre y los demas campos. Mi pregunta es ¿existe una manera de realizar la busqueda y si la cedula no esta registrada, poder entonces llamar esa funcion?
Espero haberme explicado bien... gracias por la ayuda que me puedan brindar.
NOTA: El control lo hago en javascript para realizar la busqueda de errores del lado del cliente y no lo hago del lado del servidor para que el proceso sea más rapido.