Skip to content

Instantly share code, notes, and snippets.

@PepDevils
Created March 14, 2018 15:08
Show Gist options
  • Save PepDevils/55ed145e0d26a47408b7665515043053 to your computer and use it in GitHub Desktop.
Save PepDevils/55ed145e0d26a47408b7665515043053 to your computer and use it in GitHub Desktop.
Validação data de nascimento, wordpress, contact Form 7
//contact form 7 - form
<div class="row">
<div class="col-md-0" >
<label class="lblform"> Ano </label>
[date ano id:subs-date-ano date-format:yyyy min:1930-01-01 max:today-14years text your-name placeholder "aaaa" ]
</div>
<div class="col-md-1" style="margin-right: 20px;">
<label class="lblform"> Mês </label>
[select* menu-month id:subs-date-mes "Janeiro" "Fevereiro" "Março" "Abril" "Maio" "Junho" "Julho" "Agosto" "Setembro" "Outubro" "Novembro" "Dezembro" ]
</div>
<div class="col-md-0" >
<label class="lblform"> Dia </label>
[select* dia id:subs-date-dia "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31"]
</div>
</div>
//javascript /wp-content/themes/custom_theme/footer.php
<script type="text/javascript">
// 3 campos ano(text) , mes(select) , dia(select)
//utilizado com contact form 7
function BirthDataValidation(){
//lista meses
var meses = new Array("Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Agosto", "Septembro", "Outubro", "Novembro", "Dezembro");
//qual ano
var ano = jQuery('#subs-date-ano').val();
//calcular os dias por mes pelo ano escolhido
var dias = [];
for (var x = 0; x < 12; x++) {
var diasNoMes = new Date(ano, x + 1, 0).getDate();
dias[x] = [];
for (var i = 1; i <= diasNoMes; i++) {
dias[x].push(i);
}
}
//qual o mês escolhido
var mes = jQuery("#subs-date-mes").val();
//percorrer todos os meses e escolher os dias do selecionado
for (var i=0; i<meses.length; i++){
if (meses[i] == mes){
//dias para este mes
var days = dias[i];
//limpa dias
jQuery('#subs-date-dia').empty();
//adiciona os dias ao select
jQuery.each(days, function (i, item) {
jQuery('#subs-date-dia').append(jQuery('<option>', {
value: item,
text : item
}));
});
}
}
}
//quando o Ano tem escrito
jQuery("#subs-date-ano").on("input", function() {
BirthDataValidation();
});
//quando seleciona o mês
jQuery("#subs-date-mes").on("click", function() {
BirthDataValidation();
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment