このサイトでは、この問題を解決するために何週間もこのサイトを検索してきましたが、入力フィールドの合計を取得するか、開始時刻と終了時刻は問題ありません。javascriptを使用して開始から終了までの時間の合計を取得する
私は現在reg(通常)とot(残業)時間を入力でき、各行の合計は合計ボックスに表示されているタイムシートを示していますが、下部には手動で合計する必要があります列の値
私がしたいのは、javascriptで開始時間と終了時間を計算し、reg、ot、totalフィールドに値を追加してフォームに入力する必要があるデータの量を排除することです祖母のための底の列。
このようにしたいのは、このフォームが電話アプリに変換され、入力ミスが少なくて済むことです。
私はこれに新しいので、間違っている(動作していますが)か、少ないコーディングでそれを達成するより良い方法があると確信しています。 方向、入力、またはヘルプがあれば幸いです。
function sum() {
var txtFirstNumberValue = document.getElementById('reghours').value;
var txtSecondNumberValue = document.getElementById('othours').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('totalhours').value = result;
}
}
function sum2() {
var txtFirstNumberValue = document.getElementById('reghours2').value;
var txtSecondNumberValue = document.getElementById('othours2').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('totalhours2').value = result;
}
}
function sum3() {
var txtFirstNumberValue = document.getElementById('reghours3').value;
var txtSecondNumberValue = document.getElementById('othours3').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('totalhours3').value = result;
}
}
function sum4() {
var txtFirstNumberValue = document.getElementById('reghours4').value;
var txtSecondNumberValue = document.getElementById('othours4').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('totalhours4').value = result;
}
}
function sum5() {
var txtFirstNumberValue = document.getElementById('reghours5').value;
var txtSecondNumberValue = document.getElementById('othours5').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('totalhours5').value = result;
}
}
</script>
<script>
$(function() {
$('#BasicExample').timepicker();
});
$(function() {
$('#BasicExample2').timepicker();
});
$(function() {
$('#BasicExample3').timepicker();
});
$(function() {
$('#BasicExample4').timepicker();
});
\t \t \t \t $(function() {
$('#BasicExample5').timepicker();
});
$(function() {
$('#BasicExample6').timepicker();
});
$(function() {
$('#BasicExample7').timepicker();
});
$(function() {
$('#BasicExample8').timepicker();
});
$(function() {
$('#BasicExample9').timepicker();
});
$(function() {
$('#BasicExample10').timepicker();
});
.ui-timepicker-wrapper {
\t overflow-y: auto;
\t height: 150px;
\t width: 6.5em;
\t background: #fff;
\t border: 1px solid #ddd;
\t -webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);
\t -moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);
\t box-shadow:0 5px 10px rgba(0,0,0,0.2);
\t outline: none;
\t z-index: 10001;
\t margin: 0;
}
.ui-timepicker-wrapper.ui-timepicker-with-duration {
\t width: 13em;
}
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60 {
\t width: 11em;
}
.ui-timepicker-list {
\t margin: 0;
\t padding: 0;
\t list-style: none;
}
.ui-timepicker-duration {
\t margin-left: 5px; color: #888;
}
.ui-timepicker-list:hover .ui-timepicker-duration {
\t color: #888;
}
.ui-timepicker-list li {
\t padding: 3px 0 3px 5px;
\t cursor: pointer;
\t white-space: nowrap;
\t color: #000;
\t list-style: none;
\t margin: 0;
}
.ui-timepicker-list:hover .ui-timepicker-selected {
\t background: #fff; color: #000;
}
li.ui-timepicker-selected,
.ui-timepicker-list li:hover,
.ui-timepicker-list .ui-timepicker-selected:hover {
\t background: #1980EC; color: #fff;
}
li.ui-timepicker-selected .ui-timepicker-duration,
.ui-timepicker-list li:hover .ui-timepicker-duration {
\t color: #ccc;
}
.ui-timepicker-list li.ui-timepicker-disabled,
.ui-timepicker-list li.ui-timepicker-disabled:hover,
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
\t color: #888;
\t cursor: default;
}
.ui-timepicker-list li.ui-timepicker-disabled:hover,
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
\t background: #f2f2f2;
}
.auto-style1 {
\t text-align: right;
}
body {
\t \t \t \t font-family: sans-serif;
\t \t \t }
\t \t \t #summation {
\t \t \t \t font-size: 16px;
\t \t \t \t font-weight: bold;
\t \t \t \t color:#174C68;
\t \t \t }
\t \t \t .txt {
\t \t \t \t background-color: #FEFFB0;
\t \t \t \t font-weight: bold;
\t \t \t \t text-align: center;
\t \t \t }
\t \t \t
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://jemtech.us/scripts/jquery.timepicker.min.js"></script>
<script src="http://jemtech.us/scripts/jquery.timepicker.js"></script>
<body>
<form action="process_form.php" method="post">
<table align="center" style="width: 498px">
<td class="auto-style1"> </td>
<td class="auto-style1"> </td>
<td class="auto-style1" style="width: 127px"> </td>
</table>
<table align="center" class="auto-style6" style="width: 857px">
<th class="auto-style5" style="width: 47px">Start</th>
<th class="auto-style5" style="width: 47px">Stop</th>
<th class="auto-style5" style="width: 43px">Reg</th>
<th class="auto-style5" style="width: 45px">OT</th>
<th class="auto-style5" style="width: 51px">Total</th>
<th class="auto-style5"></th>
<tr>
<td style="height: 26px; width: 47px;">
<input id="BasicExample" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 47px;">
<input id="BasicExample2" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 43px;">
<input type="text" class="txt" name="RegularHours" id="reghours" onkeyup="sum()" style="width: 45px" />
</td>
<td style="height: 26px; width: 45px;">
<input type="text" class="txt" name="OTHours" id="othours" value="0" onkeyup="sum()" style="width: 45px" />
</td>
<td style="height: 26px; width: 51px;">
<input type="text" class="txt" name="TotalHours" id="totalhours" style="width: 50px" readonly/>
</td>
<td style="height: 26px">
</td>
</tr>
<tr>
<td style="height: 26px; width: 47px;">
<input id="BasicExample3" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 47px;">
<input id="BasicExample4" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 43px;">
<input type="text" class="txt" name="RegularHours2" id="reghours2" onkeyup="sum2()" style="width: 45px" />
</td>
<td style="height: 26px; width: 45px;">
<input type="text" class="txt" name="OTTotal2" id="othours2" value="0" onkeyup="sum2()" style="width: 45px" />
</td>
<td style="height: 26px; width: 51px;">
<input type="text" class="txt" name="TotalHours2" id="totalhours2" style="width: 50px" readonly/>
</td>
<td style="height: 26px">
</td>
</tr>
<tr>
<td style="height: 26px; width: 47px;">
<input id="BasicExample5" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 47px;">
<input id="BasicExample6" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 17px; width: 43px;">
<input type="text" class="txt" class="txt" name="RegularHours3" id="reghours3" onkeyup="sum3()" style="width: 45px" />
</td>
<td style="height: 17px; width: 45px;">
<input type="text" class="txt" class="txt" name="OTHours3" id="othours3" value="0" onkeyup="sum3()" style="width: 45px" />
</td>
<td style="height: 17px; width: 51px;">
<input type="text" class="txt" class="txt" name="TotalHours3" id="totalhours3" style="width: 50px" readonly/>
</td>
<td style="height: 17px">
</td>
</tr>
<tr>
<td style="height: 26px; width: 47px;">
<input id="BasicExample7" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 47px;">
<input id="BasicExample8" type="text" class="time" style="width: 85px" />
</td>
<td style="width: 43px">
<input type="text" class="txt" name="RegularHours4" id="reghours4" onkeyup="sum4()" style="width: 45px" />
</td>
<td style="width: 45px">
<input type="text" class="txt" name="OTHours4" id="othours4" value="0" onkeyup="sum4()" style="width: 45px" />
</td>
<td style="width: 51px">
<input type="text" class="txt" name="TotalHours4" id="totalhours4" style="width: 50px" readonly/>
</td>
<td>
</td>
</tr>
<tr>
<td style="height: 26px; width: 47px;">
<input id="BasicExample9" type="text" class="time" style="width: 85px" />
</td>
<td style="height: 26px; width: 47px;">
<input id="BasicExample10" type="text" class="time" style="width: 85px" />
</td>
<td style="width: 43px">
<input type="text" class="txt" name="RegularHours5" id="reghours5" onkeyup="sum5()" style="width: 45px" />
</td>
<td style="width: 45px">
<input type="text" class="txt" name="OTHours5" id="othours5" value="0" onkeyup="sum5()" style="width: 45px" />
</td>
<td style="width: 51px">
<input type="text" class="txt" name="TotalHours5" id="totalhours5" style="width: 50px" readonly/>
</td>
<td>
</td>
</tr>
</table>
<div class="auto-style1" style="width: 640px; height: 26px">
<td><strong>Total Hours</strong>
</td>
<td>
<input type="text" class="txt" name="RegTotal" id="total" style="width: 45px" readonly />
</td>
<td>
<input type="text" class="txt" name="OTTotal" id="total" style="width: 45px" readonly/>
</td>
<td style="width: 45px">
<tr id="summation">
<td style="width: 50px">
<input type="text" class="txt" name="GrandTotal" id="grandtotal" style="width: 50px" readonly/>
</td>
<td style="height: 23px"></td>
</tr>
</td>
</div>
<div style="height: 35px"></div>
<hr />
<br/>
<input type="submit" name="submit" value="Submit" />
</form>
</body>
私は非常によく質問に従うとは思わない。ただし、電話アプリにする場合は、入力フィールドの代わりにドロップダウンボックス(選択ボックス)を使用することを検討してください。こうすることで、入力として「選択」できるものを絶対的に制御できます(たとえば、時間フィールドには「37」、分フィールドには「74」などの奇妙な数字を入力できません) 。時間ドロップダウンに値「00」〜「23」を、同様に分を「00」〜「59」とします。 –
@DhruvSaxenaのように、これらは入力フィールドであってはなりません。エラーのための余裕が余裕があり、適切なフォーマットで時間を入れていない人々。 [時間入力フィールド](http://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_time)もあります。しかし、私はこのタイムシートがどのように動作するのか、どのフォーマットが各ボックス(12時間フォーマット、24 /軍フォーマット?)にある必要があるのか、どのregとotが表すのかわからない。残業はありますか?明確な要件で必要なものの超簡単な例を作れば、ここではより良い運を得られるでしょう。 –
私はhtmlを編集し、時間のドロップダウンボックスを追加しました。 Reg = 8時間までの定期的な時間と、OT = 8時間後の何かのための超過時間。軍事的な時間を把握しなければならない場合、従業員が不平を言う標準的な時間。 – Andy