Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com javascript


Georits

Pergunta

Tenho um formulário onde tenho os campos data_inicial e data_final e situacao.

Preciso fazer o seguinte: ao enviar as informações no formulário, a data final não pode ser anterior à data inicial.

Em relação ao campo situação, existem os casos: aprovado, em planejamento, em espera, em execução, concluído e arquivado.

No formulário, se a data final for anterior à data atual, a situação do projeto não poderá estar em execução. Como faço para resolver isso??

Obrigada

Rita Georgia

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

boa tarde!

olha um exemplo simples

data 1:<input type="text" name="txt_dt1" id="dt1" /> formato: (DD/MM/AAAA)<br />
data 2:<input type="text" name="txt_dt2" id="dt2" /> formato: (DD/MM/AAAA)<br />
<input type="button" onClick="java script: verifica_data(document.getElementById('dt1').value,document.getElementById('dt2').value)" />
function verifica_data(dt1,dt2){
    if ( isDate(dt1) && isDate(dt2) ){
        if ( dt1 > dt2 )
            alert('data 1 maior que a data 2');
        if ( dt1 < dt2 )
            alert('data 1 menor que a data 2');
        if ( dt1 == dt2 )
            alert('data 1 igual a data 2');
    }
}
function isDate(dateStr) {
    // creditos: http://www.codetoad.com/forum/17_10053.asp
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?
    if (matchArray == null) {
        alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy."); // Alterei para dd/mm/yyyy ou dd-mm-yyyy
        return false;
    }

    month = matchArray[3]; // p@rse date into variables
    day = matchArray[1];
    year = matchArray[5];

    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn`t have 31 days!")
        return false;
    }

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
            alert("February " + year + " doesn`t have " + day + " days!");
            return false;
        }
    }
    return true; // date is valid
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...