Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde Galera!
Estou com um Problema, gostaria de saber alguma Função de JS para um cadastro de curso,
assim tenho os seguintes campos , grau de formação,Nome da instituição,Nome do curso,Data de início e término,Ano que está cursando, na logica o Ano que está cursando deve ser orbigatorio, mas apenas quando a Data de Termino não e digitada, e quando ela for ele não é obrigatorio.
mas exemplo hoje e dia 20/03/2014 , eu digitei na data inicio 01/01/2013 e na termino 30/12/2014 , na logica que o progama se encontra agora, o campo ano que esta cursando não sera orbigatorio, pois a data termino foi digitada, mas no caso o aluno ainda esta cursando, então deveria ser obrigatorio, so não seria obrigatorio caso a data termino digitada fosse mais antiga que o dia de hoje!
Gostaria de uma função que verifica se a data digitada e inferior a data de hoje torne meu campo ano de curso obrigatorio ou apenas me aparece um alert para preenchelo, e caso ela seja superior a data de hoje, o campo ano que esta cursando não sera orbigatorio!
Vlw Galera, Aguardando respostas!
galera consegui resolver, caso alguem um dia tenha a mesma duvida, vou estar disponibilizando o codigo aqui
no HTML:
<tr>
<td>
Data de início e término:
</td>
<td>
<input type ="text" name="dataentradacurso" style="width:84px;" value="<?=$dataentradacurso?>" id="dataentradacurso" onkeypress="BloquearLetras(event)" onKeyUp="mascaraTexto(event,'99/99/9999')" onblur="ValidaData('dataentradacurso');ValidaData2('dataentradacurso','1');"> até <input type ="text" name="datasaidacurso" style="width:84px;" value="<?=$datasaidacurso?>" id="datasaidacurso" onkeypress="BloquearLetras(event)" onKeyUp="mascaraTexto(event,'99/99/9999')" onblur="ValidaData('datasaidacurso');ValidaData2('datasaidacurso','1');"><br>
</td>
</tr>
<tr>
<td style="display:;" id="anocurscond1">
Ano que está cursando:
</td>
<td style="display:none;" id="anocurscond2">
Ano que está cursando:<span style="color:#FF0000">*</span>
</td>
<td>
<input type ="text" name="anocurso" style="width:70px;" value="<?=$anocurso?>" id="anocurso"><br>
</td>
</tr>
no JS:
if(document.getElementById('datasaidacurso'+subn).value!=""&&document.getElementById('datasaidacurso'+subn).value!="00/00/0000"){
// Declarações de variáveis
var mes, data, dataAtual, dataInfo, arrDataInfo, novaDataInfo, diasEntreDatas;
// Lista dos meses em inglês
mes = [];
mes[0] = "January";
mes[1] = "February";
mes[2] = "March";
mes[3] = "April";
mes[4] = "May";
mes[5] = "June";
mes[6] = "July";
mes[7] = "August";
mes[8] = "September";
mes[9] = "October";
mes[10] = "November";
mes[11] = "December";
// Instancia o objeto Date
data = new Date();
// Pega a data de hoje no seguinte formato: November 22 2006
dataAtual = mes[data.getMonth()] + ' ' + data.getDate() + ' ' + data.getFullYear();
// Pega a data informada pelo usuário
dataInfo = document.getElementById('datasaidacurso'+subn).value;
// Separa a data informada pelo usuário através da barra /
arrDataInfo = dataInfo.split('/');
// Formata a data para o seguinte formato: November 22 2006
novaDataInfo = mes[(arrDataInfo[1] - 1)] + ' ' + arrDataInfo[0] + ' ' + arrDataInfo[2];
if(novaDataInfo<=dataAtual){
alertano=2;
}
else {
if(document.getElementById('anocurso'+subn).value==""||document.getElementById('anocurso'+subn).value=="0"){
document.getElementById('anocurscond1'+subn).style.display='none';
document.getElementById('anocurscond2'+subn).style.display='';
alertano=1;
}
else {
document.getElementById('anocurscond1'+subn).style.display='';
document.getElementById('anocurscond2'+subn).style.display='none';
alertano=2;
}
}
}
if(document.getElementById('datasaidacurso'+subn).value==""||document.getElementById('datasaidacurso'+subn).value=="00/00/0000"){
if(document.getElementById('anocurso'+subn).value==""||document.getElementById('anocurso'+subn).value=="0"){
document.getElementById('anocurscond1'+subn).style.display='none';
document.getElementById('anocurscond2'+subn).style.display='';
alertano=1;
}
else {
document.getElementById('anocurscond1'+subn).style.display='';
document.getElementById('anocurscond2'+subn).style.display='none';
alertano=2;
}
}
a variavel subn voces podem desconsiderar, pois e um cadastro dinamico, a cada clique abre mais uma opção para eu cadastrar uma formação e adiciona +1 ao subn que sera o tanto de vezes que ele ira fazer a verificação , e tbm acrescentar ao campo,bom desconsiderem ele rsrs,
vlw galera pela prontidão !
Melhorei o codigo JS:
// Pega a data informada pelo usuário
dataInfo = document.getElementById('datasaidacurso'+subn).value;
// Separa a data informada pelo usuário através da barra /
dataForm= dataInfo.split('/');
var dataAtual = new Date();
var novaDataInfo = new Date(dataForm[2], dataForm[1]-1, dataForm[0]);
if(novaDataInfo<=dataAtual){
}
else {
if(document.getElementById('anocurso'+subn).value==""||document.getElementById('anocurso'+subn).value=="0"){
document.getElementById('anocurscond1'+subn).style.display='none';
document.getElementById('anocurscond2'+subn).style.display='';
alertano=1;
}
else {
document.getElementById('anocurscond1'+subn).style.display='';
document.getElementById('anocurscond2'+subn).style.display='none';
}
}
}
if(document.getElementById('datasaidacurso'+subn).value==""||document.getElementById('datasaidacurso'+subn).value=="00/00/0000"){
if(document.getElementById('anocurso'+subn).value==""||document.getElementById('anocurso'+subn).value=="0"){
document.getElementById('anocurscond1'+subn).style.display='none';
document.getElementById('anocurscond2'+subn).style.display='';
alertano=1;
}
else {
document.getElementById('anocurscond1'+subn).style.display='';
document.getElementById('anocurscond2'+subn).style.display='none';
}
}
https://www.google.com.br/search?q=js+compare+dates