Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

scom

somar dias input date e input number

Recommended Posts

preciso ao sair do input dias pegar o valor do dataini e somar o dias e jogar na datafin, como faço esta função, sou iniciante.

 

<table width="390" border="0" align="center">
<tr>
<td>Data Inicial</td>
<td><input name="dataini" type="date" id="dataini" size="70" /></td>
</tr>
<tr>
<td>Dias</td>
<td><input name="dias" type="number" id="dias" size="70" /></td>
</tr>
<tr>
<td>Data Final</td>
<td><input name="datafin" type="date" id="datafin" size="70" /></td>
</tr>
<tr>
</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Osmar, mas como sou iniciante, copei aquele código e esta dando erro.

 

<script type="text/javascript">
$(document).ready(function(){
function DateFromString(str){
str = str.split(/\D+/);
str = new Date(str[2],str[0]-1,(parseInt(str[1])+7));
return MMDDYYYY(str);
}
function MMDDYYYY(str) {
var ndateArr = str.toString().split(' ');
var Months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec';
return (parseInt(Months.indexOf(ndateArr[1])/4)+1)+'/'+ndateArr[2]+'/'+ndateArr[3];
}

function Add7Days() {
var date = $('#start_date').val();
var ndate = DateFromString(date);
return ndate;
}

$('#start_date').change(function(){
$('#end_date') = Add7Days();
})

});

 

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso:

 

*formato padrão do campo input do tipo Date é YYYY-MM-DD

 

 

<script type="text/javascript">

function calculaDataFin() {
var datainicial = document.getElementById("dataini").value;
var dias = parseInt(document.getElementById("dias").value);
var partes = datainicial.split("-");
var ano = partes[0];
var mes = partes[1]-1;
var dia = partes[2];

datainicial = new Date(ano,mes,dia);
datafinal = new Date(datainicial);
datafinal.setDate(datafinal.getDate() + dias);

var dd = ("0" + datafinal.getDate()).slice(-2);
var mm = ("0" + (datafinal.getMonth()+1)).slice(-2);
var y = datafinal.getFullYear();

var dataformatada = y + '-' + mm + '-' + dd;
document.getElementById('datafin').value = dataformatada;

}

</script>

coloca dentro do head do seu html

 

<head>

código aqui.

</head>

 

no seu input de dias poe assim:

 

<input onchange="calculaDataFin();" name="dias" type="number" id="dias" size="70"  />

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.