Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Perhitungan menggunakan javascript
Bagaimana melakukan perhitungan pengurangan antara finish dikurangi dengan start jika formatnya 21:30 - 08:00 Mohon bantuannya
<script>
function sum() {
var txtFirstNumberValue = document.getElementById('emp_start').value;
var txtSecondNumberValue = document.getElementById('emp_finish').value;
var result = parseInt(txtSecondNumberValue) - parseInt(txtFirstNumberValue);
if (!isNaN(result)) {
document.getElementById('emp_total').value = result;
}
}
</script>
13 Jawaban:
Kalo jam mungkin bisa diubah ke menit dulu masing masing jamnya , untuk ambil nilainya bisa pake substring , untuk yang jam bisa dikali 60 dan menit tinggal ditambkahkan ke jamnya, untuk lalu hasil menitnya dikurangkan CMIIW Thanks
dan kodenya mungkin seperti ini
<span id="test"></span>
<span> jam</span>
</br>
<span id="test2"></span>
<span> menit</span>
<script>
var x = "08.00";
var y = "21.30";
var jam_x = parseInt(x.substring(0,2)) * 60;
var jam_y = parseInt(y.substring(0,2)) * 60;
var menit_x = parseInt(x.substring(3,5));
var menit_y = parseInt(y.substring(3,5));
var hasil_x = jam_x + menit_x;
var hasil_y = jam_y + menit_y;
var selisih = hasil_y - hasil_x;
var jam = Math.floor(selisih / 60);
var menit = selisih - (jam * 60);
document.getElementById("test").innerHTML = jam;
document.getElementById("test2").innerHTML = menit;
</script>
CMIIW Thaks
Kalau digabungin dengan script ini bagaimana yah gan, thanks
<style type="text/css">
#dis{
display:none;
}
</style>
<script>
function sum() {
var txtFirstNumberValue = document.getElementById('emp_start').value;
var txtSecondNumberValue = document.getElementById('emp_finish').value;
var result = (parseInt(txtSecondNumberValue) - parseInt(txtFirstNumberValue)) ;
if (!isNaN(result)) {
document.getElementById('emp_total').value = result;
}
}
</script>
<div id="dis">
<!-- here message will be displayed -->
</div>
<form method='post' id='emp-SaveForm' action="#">
<table class='table table-bordered'>
<tr>
<td>Shift</td>
<td><select class="form-control" id="sel1" name='emp_shift' required>
<option value=''>-- Choose Shift Category --</option>
<option value='D'>D</option>
<option value='E'>E</option>
<option value='N'>N</option>
<option value='OFF'>OFF</option>
<option value='G'>G</option>
</tr>
<tr>
<td>Start</td>
<td><input type='text' name='emp_start' id='emp_start' onkeyup="sum();" class='form-control' required></td>
</tr>
<tr>
<td>Finish</td>
<td><input type='text' name='emp_finish' id='emp_finish' onkeyup="sum();" class='form-control' placeholder='' required></td>
</tr>
<tr>
<td>Total</td>
<td><input type='number' name='emp_total' id='emp_total' class='form-control' placeholder='' required></td>
</tr>
<tr>
<td colspan="2">
<button type="submit" class="btn btn-primary" name="btn-save" id="btn-save">
<span class="glyphicon glyphicon-plus"></span> Save this Record
</button>
</td>
</tr>
</table>
</form>
hasil perhitunganya mau ditampilin dimana ? input yang total buat apa ?
Hasil Perhitungan di tampilin di total gan, input total dibuat jadi input type agar bisa di edit lagi gan, tapi intinya hasil perhitungan itu dimunculin di total(emp_total)
mungkin seperti ini
<script>
function sum() {
var txtFirstNumberValue = document.getElementById('emp_start').value;
var txtSecondNumberValue = document.getElementById('emp_finish').value;
var jam_first = parseInt(txtFirstNumberValue.substring(0,2)) * 60;
var jam_second = parseInt(txtSecondNumberValue.substring(0,2)) * 60;
var menit_first = parseInt(txtFirstNumberValue.substring(3,5));
var menit_second = parseInt(txtSecondNumberValue.substring(3,5));
var hasil_first = jam_first + menit_first;
var hasil_second = jam_second + menit_second;
var selisih = hasil_second - hasil_first;
var jam = Math.floor(selisih / 60);
var menit = selisih - (jam * 60);
if (!isNaN(result)) {
document.getElementById('emp_total').value = jam + " jam" + menit + " menit";
}
}
</script>
terus input resultnya bertipe text bukan number , jadinya
<input type='text' name='emp_total' id='emp_total' class='form-control' placeholder='' required>
CMIIW Thanks
Maaf gan ko tidak keluar otomatis yah ?
<style type="text/css">
#dis{
display:none;
}
</style>
<script>
function sum() {
var txtFirstNumberValue = document.getElementById('emp_start').value;
var txtSecondNumberValue = document.getElementById('emp_finish').value;
var jam_first = parseInt(txtFirstNumberValue.substring(0,2)) * 60;
var jam_second = parseInt(txtSecondNumberValue.substring(0,2)) * 60;
var menit_first = parseInt(txtFirstNumberValue.substring(3,5));
var menit_second = parseInt(txtSecondNumberValue.substring(3,5));
var hasil_first = jam_first + menit_first;
var hasil_second = jam_second + menit_second;
var selisih = hasil_second - hasil_first;
var jam = Math.floor(selisih / 60);
var menit = selisih - (jam * 60);
if (!isNaN(result)) {
document.getElementById('emp_total').value = jam + " jam" + menit + " menit";
}
}
</script>
<div id="dis">
<!-- here message will be displayed -->
</div>
<form method='post' id='emp-SaveForm' action="#">
<table class='table table-bordered'>
<tr>
<td>Departement. / Section.</td>
<td><select class="form-control" id="sel1" name='emp_dept' required >
<option value=''>-- Choose Department --</option>
<option value='OPR'>OPR</option>
<option value='MTC'>MTC</option>
<option value='QAC'>QAC</option>
<option value='HRD'>HRD</option>
<option value='HSE'>HSE</option>
<option value='ITS'>ITS</option>
<option value='TECHNICAL SERVICE'>TECHNICAL SERVICE</option>
<option value='STORE & PURCHASE'>STORE & PURCHASE</option>
<option value='WHS'>WHS</option>
<option value='LOG'>LOG</option>
<option value='FAC'>FAC</option>
</select></td>
</tr>
<tr><td>Tgl. / Date</td><td><input type='date' name='date' class='form-control' required /></td></tr>
<tr><td>Employee Number</td><td><input type='number' name='emp_no' class='form-control' placeholder='' required></td></tr>
<tr><td>Name</td><td><input type='text' name='emp_name' class='form-control' placeholder='' required></td></tr>
<tr>
<td>Shift</td>
<td><select class="form-control" id="sel1" name='emp_shift' required>
<option value=''>-- Choose Shift Category --</option>
<option value='D'>D</option>
<option value='E'>E</option>
<option value='N'>N</option>
<option value='OFF'>OFF</option>
<option value='G'>G</option>
</tr>
<tr>
<td>Overtime Category</td>
<td><select class="form-control" id="sel1" name='emp_cat' required>
<option value=''>-- Choose Overtime Category --</option>
<option value='GO'>General Overtime</option>
<option value='HO'>Holiday Overtime</option>
<option value='COG'>Call Out General</option>
<option value='COH'>Call Out Holiday</option>
</select></td>
</tr>
<tr>
<td>Remark</td>
<td><select class="form-control" id="sel1" name='emp_remark' required>
<option value=''>-- Choose Remark --</option>
<option value='A'>A = OT Due to reliever leave</option>
<option value='B'>B = OT Due to reliever absent/sick</option>
<option value='C'>C = OT Due to extra work</option>
<option value='D'>D = OT Due to not enough persons</option>
<option value='P'>P = Power Plant Project</option>
<option value='R'>R = Retrofit Project</option>
</select></td>
</tr>
<tr><td>Note</td><td><textarea type='text' rows="3" name='note' class='form-control'></textarea></td></tr>
<tr><td>Start</td><td><input type='text' name='emp_start' id='emp_start' onkeyup="sum();" class='form-control' required></td>
</tr>
<tr><td>Finish</td><td><input type='text' name='emp_finish' id='emp_finish' onkeyup="sum();" class='form-control' placeholder='' required></td></tr>
<tr><td>Total</td><td><input type='text' name='emp_total' id='emp_total' class='form-control' placeholder='' required></td>
</tr>
<tr>
<td colspan="2">
<button type="submit" class="btn btn-primary" name="btn-save" id="btn-save">
<span class="glyphicon glyphicon-plus"></span> Save this Record
</button>
</td>
</tr>
</table>
</form>
kesalahan mas , maaf , disini kesalahanya
if (!isNaN(jam || menit)) {
document.getElementById('emp_total').value = jam + " jam" + menit + " menit";
}
CMIWW Thanks
Kalo ngilangin kata2 jam dan menitnya bagaimana ya gan ?
Maaf mas kalo formatnya total hasilnya kaya gini lagi bagaimana yah 15:30
Jawaban Terpilih
coba seperti ini
if (!isNaN(jam || menit)) {
document.getElementById('emp_total').value = jam + ":" + menit;
}
Gan bisa gak yah d javascript melakukan fungsi if, jadi jika memilih dropdown D,E,N nilai emp_total dikurangi 8, kalo memilih G dikurangi 9, thanks
bisa , nanti yang dikurangi itu variabel selisihnya , kalo untuk sintaknya saya kurang tahu