Postingan lainnya
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