3
When I click the 'new' button calling the function to check the data, inside it I call another function to check the date that was informed!
function f_veri_dados()
{
// existem outros dados
// Data da Garantia
f_veri_data(tx_dt_gtia);
parent.location.replace("#"); --> chama outra aba se a verificação estiver certa
}
Date check:
function f_veri_data(w_data)
{
w_form_dt="#";
w_tx_data = w_data.value;
if (w_tx_data == "")
{
alert("Informe a data!!!");
document.forms[w_form_dt].tx_dt_gtia.focus();
return false;
}
var w_datavalor = "";
var w_dia, w_mes, w_ano = "";
//Retira caracteres que não sejam números.
var digitos="0123456789";
for (w_i = 0; w_i < w_tx_data.length; w_i++)
if (digitos.indexOf(w_tx_data.substr(w_i,1)) != -1)
w_datavalor = w_datavalor+w_tx_data.substr(w_i,1);
//Verifica a validade da data propriamente dita.
if (w_datavalor.length > 5)
{
if (w_datavalor.length == 6){
w_datavalor =w_datavalor.substr(0,4) + '20' +w_datavalor.substr(4,2);
}
w_dia = w_datavalor.substr(0,2);
w_mes = w_datavalor.substr(2,2);
w_ano = w_datavalor.substr(4,4);
//Se o dia ou o mês forem maiores ele invalida a data.
w_data_valida = new Date(w_ano,w_mes-1,w_dia);
w_dia_val = w_data_valida.getDate();
w_mes_val = w_data_valida.getMonth();
if ((w_dia_val == w_dia) && (w_mes_val+1 == w_mes))
{
w_data.value = w_dia + "/" + w_mes + "/" + w_ano;
return true;
}
}
w_tx_data.value = "";
alert(" Data inválida.");
document.forms[w_form_dt].qtde_nf.focus();
return false;
}
The problem is: "It confirms that the date is invalid, but still keeps running the program by calling the other tab!". There must be some mistake that I can’t see if anyone can see that mistake. I’d appreciate it if you let me know.!