Eu gostaria de fazer com que um campo de data (no formato dd/mm/aaaa) somente pudesse receber: * numeros e somente 2 algarismos em "dd", 2 em "mm", e 4 em "aaaa" * checasse se estes campos estão vazios. * checasse se estes campos contem espacos. * fizesse com que à medida em que fossem digitados, por exemplo: 2 algarismos no campo "dd", o cursor mudasse o foco para o proximo campo e assim em diante.. Sabendo disto, procurei desenvolver meio que sem sucesso o código logo abaixo que aparentemente não está funcionando. Quando eu clico em enviar, o form envia os dados mesmo estando vazio os campos de data, e tambem o código não está contando quantos algarismos contem cada campo e deixando assim que seja enviado o form com quantos numeros forem digitados. O código é: /*********************************
INÍCIO DA VALIDAÇÃO DO CAMPO DATA
*********************************/
// ESPACO
var dd_espaco = document.frmcadastro.dd.value.indexOf(' ');
var mm_espaco = document.frmcadastro.mm.value.indexOf(' ');
var aaaa_espaco = document.frmcadastro.aaaa.value.indexOf(' ');
// TAMANHO
var dd_tamanho = document.frmcadastro.dd.value.length;
var mm_tamanho = document.frmcadastro.mm.value.length;
var aaaa_tamanho = document.frmcadastro.aaaa.value.length;
// CHECANDO TAMANHO OU VAZIO
if ((dd_tamanho > 2) || (dd_tamanho <= 0)) {
alert('Campo DD não deve conter mais que 2 algarismos ou está vazio.');
return false;
}
if ((mm_tamanho > 2) || (mm_tamanho <= 0)) {
alert('Campo MM não deve conter mais que 2 algarismos ou está vazio.');
return false;
}
if ((aaaa_tamanho > 4) || (aaaa_tamanho <= 0)) {
alert('Campo AAAA não deve conter mais que 4 algarismos ou está vazio.');
return false;
}
// CHECANDO ESPACO
if ((dd_espaco != -1) || (mm_espaco != -1) || (aaaa_espaco != -1)) {
alert('Um dos campos de data (dd/mm/aaaa) contém espaco. CORRIJA!');
return false;
} O que pode estar errado?