Jump to content
Fórum Script Brasil
  • 0

Ajuda com javascript


Question

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 to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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]; // [email protected] 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148684
    • Total Posts
      644518
×
×
  • Create New...