私はクライアント側のスクリプティングが初めてです。私の問題は、テキストボックスがたくさんあり、それらを自動計算したいのですが、これまでのところ何もできません。スクリプトに何か問題がありますか?スクリプトに何か問題がありますか?
function totaltraininghour()
{
var totalhour1=0;
var a1= parseInt(document.getElementById("a1").value);
var b1= parseInt(document.getElementById("b1").value);
var c1= parseInt(document.getElementById("c1").value);
var d1= parseInt(document.getElementById("d1").value);
var totalhour2=0;
var a2= parseInt(document.getElementById("a2").value);
var b2= parseInt(document.getElementById("b2").value);
var c2= parseInt(document.getElementById("c2").value);
var d2= parseInt(document.getElementById("d2").value);
var totalhour3=0;
var a3= parseInt(document.getElementById("a3").value);
var b3= parseInt(document.getElementById("b3").value);
var c3= parseInt(document.getElementById("c3").value);
var d3= parseInt(document.getElementById("d3").value);
var totaltraining=0;
if (a1 >=0)
{
totalhour1 = totalhour1 + a1
}
if (b1>=0)
{
totalhour1 = totalhour1+ b1
}
if (c1>=0)
{
totalhour1 = totalhour1+ c1
}
if (d1>=0)
{
totalhour1 = totalhour1+ d1
}
document.getElementById("txttotalhour1").value = totalhour1
if (a2 >=0)
{
totalhour2 = totalhour2 + a2
}
if (b2>=0)
{
totalhour2 = totalhour2+ b2
}
if (c2>=0)
{
totalhour2 = totalhour2+ c2
}
if (d2>=0)
{
totalhour2 = totalhour2+ d2
}
document.getElementById("txttotalhour2").value = totalhour2
if (a3 >=0)
{
totalhour3 = totalhour2 + a3
}
if (b3>=0)
{
totalhour3 = totalhour2+ b3
}
if (c3>=0)
{
totalhour3 = totalhour2+ c3
}
if (d3>=0)
{
totalhour3 = totalhour2+ d3
}
document.getElementById("txttotalhour3").value = totalhour3
totaltraining = totalhour1 + totalhour2 + totalhour3
document.getElementById("txttotaltraininghours").value = totaltraining
</script>
<asp:TextBox ID="a2" runat="server" Width="100px" onkeyup="totaltraininghour
();"></asp:TextBox> And so on..
私は、ASP.NETが生成されたHTMLのコントロールのIDを変更すると聞いたことがあります。 (残念なことに、私はASP.NETで動作しないし、それを修正する方法を知らない) – icktoofay
ほとんどのJavscriptステートメントは、入力していないセミコロンで終わります。次に、エラーコンソールまたはデバッガコンソールで、Javascriptエラーが報告されているかどうかを調べましたか? – jfriend00
あなたがそれを実行すると実際に何が起こっていますか? 'totalhour3 = totalhour2 + a3'と言って、' totalhour3'の代わりに 'totalhour2'を追加しているので、投稿されたコードに' totalhour3'フィールドの計算にいくつかのタイプミスがあります。 (あなたはこの問題を避け、 'totalhour3 + = a3'と言うことでコードをもっと細かくすることができます)@ jfriend00:すべての行でセミコロンを好きですが、ポストされたコードは明示的に入力する必要はありません。 – nnnnnn