Skip to main content

chaidir.alit's friends

Tanggal Otomatis

September 14, 2011 by chaidir.alit

chaidir.alit's picture

para master ane mau tanya ni gimana caranya membuat tanggal otomatis,
ane punya 1 text box untuk mengisi jumlah hari , dan 2 text box untuk mengisi tanggal,

 <input type="text" nama="jumlah_hari">
 
 <input type="text" nama="tanggal_mulai"/> s/d <input type="text" nama="tanggal_akhir"/>

kaya diatas, kalo misalkan di textbox jumlah hari saya isi 2 hari dan di textbox tanggal mulai saya isi tanggal 01/01/2011 saya ingin di textbox tanggal akhir otomatis terisi menjadi 03/01/2011, tanggal akhir akan otomatis terisi berdasarkan jumlah hari.

mohon bantuannya, terima kasih..

Comments

BLS:

September 15, 2011 by syabac, 1 week 1 day ago
Comment: 8957

syabac's picture

coba begini:

<input type="input" name="jumlah_hari" id="day-num" />
<input type="input" name="tanggal_mulai" id="date-start" /> 
<input type="input" name="tanggal_akhir" id="date-end" />
 
<script type="text/javascript">
document.getElementById('date-start').onchange = function(){
	var num = parseInt(document.getElementById('day-num').value),
		endInput = document.getElementById('date-end'),
		segment = this.value.split('/');
	if(isNaN(num)){
		document.getElementById('day-num').focus();
		alert('Banyak hari tidak valid');
		return false;
	}	
	if(segment.length != 3){
		alert('Tanggal Awal tidak valid. Format tanggal DD/MM/YYYY');
		return false;
	}
	var day = parseInt(segment[0]),
		month = parseInt(segment[1])-1, // month start from 0 to 11
		year = parseInt(segment[2]);
	if(isNaN(day) || isNaN(month) || isNaN(year)){
		alert('Format tanggal tidak valid. Pastikan format tanggal DD/MM/YYYY');
		this.focus();
		return false;
	}
	if(day < 1 || day > 31){
		alert('Tanggal harus bernilai 1-31');
		this.focus();
		return false;
	}
	if(month < 0 || month > 11){
		alert('Bulan harus bernilai 1-12');
		this.focus();
		return false;
	}
	if(year < 1){
		alert('Tahun harus valid.');
		this.focus();
		return false;
	}
 
	var date = new Date(year, month, day);
	date.setDate(date.getDate()+num);
	endInput.value = date.getDate() + '/' + (date.getMonth()+1) + '/' + date.getFullYear();
}
</script>

Premium Drupal Themes by Adaptivethemes