2つの日付間の時間を計算し、6つの数値フィールドを格納するフォームがあります。2つのjavascript関数を組み合わせてフォームを計算する
フォームが意図したとおりに動作するように、ユーザーが2つの日付の後に選択を開始するときにフォームにこれらの値を明示する必要があります。ページは私の意図は
http://jsfiddle.net/GfN5u/1/ jsファイルであるかをhere..of位置しています
サンプルでは、私は今週、ほとんどそこだが、私には静物公平ではないと感じHTML
をwithingています。
また、IE 8では、選択要素は内容が失われています..... jsfiddleでも。
ご協力いただければ幸いです。
は、ユーザーが日付を選択して、値を計算する日付を選択した後に呼び出され、いくつかのJavaScriptのイベントにあなたの計算をリンクするには
<script>
var txt1 = document.Edit.StartTime.value
var txt2 = document.Edit.EndTime.value
var differenceInSeconds = (Calendar.parseDate(txt2, false).getTime() - Calendar.parseDate(txt1, false).getTime())/1000;
var val9 = differenceInSeconds/60.0/60
alert(val9)
</script>
<script>
re=/\D/g
function getGoodVal(fld) {
var val = fld.value;
if (!val) val=0;
if (isNaN(val)) {
val=val.replace(re,""); // remove all nonDigits
}
if (val=="" || isNaN(val)) val = 0; // still not a number or empty
val = parseFloat(val)
fld.value=val.toFixed(2);
return val;
}
function calc(theForm) {
var val10 = val9
var valb = getGoodVal(theForm.lunch);
var val1 = getGoodVal(theForm.TRDO);
var val2 = getGoodVal(theForm.AnnualLeave);
var val3 = getGoodVal(theForm.PersonalLeave);
var val4 = getGoodVal(theForm.WorkFromHome);
var val5 = getGoodVal(theForm.TOIL);
total = (val9-valb) + (val1+val2+val3+val4+val5);
theForm.total.value=total.toFixed(2)
}
</script>
そのフィドルのコードは恐ろしいです。それは自動生成されますか?また、あまり知られていないカレンダーコントロールと 'document.Edit'とは何ですか? – Raynos
@Raynos、私はあなたのコメントの内容に同意できませんが、私はwebbを助けるのにそれほど役に立たないと思います。 –