hola a todos. Tengo esta funcion, donde valido el ingreso de una fecha. El tema es que quiero que en los momentos que puede haber error, ademas de disparar los alerts que ya hace, que borre el contenido de campo de texto en cuestion.
Código PHP:
function currencyFormat(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true; // Enter
key = String.fromCharCode(whichCode); // Get key value from key code
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
len = fld.value.length;
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = aux;
if (len == 2){
if (aux>31)
window.alert("El dia debe ser inferior a 31");
else
fld.value = aux;
}
if (len > 2 && len < 5) {
if (len == 4){
if (aux.substr(len - 2, len)>12)
window.alert("El mes debe ser inferior a 12");
else
fld.value = aux;
}
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 2) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
if (len > 4 && len < 9) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 2 && i <= len -5) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += aux.substr(len - 2, len);
}
if (len ==8){
fecha22=fld.value.split("/");
fecha_proceso= fecha22[1]+"/"+fecha22[0]+"/"+fecha22[2];
var fecha1=new Date(fecha_proceso);
var fecha2=new Date();
if (fecha1>fecha2){
alert("La fecha de emision no puede ser mayor a al día de hoy."); // si la fecha es mayor a hoy.. error
}
var pagina="abm_cheque.asp?fechaok="+fld.value;
document.location=pagina;
this.focus();
}
return false;
}
muchas gracias de antemano