0

こんにちは、入力を受け取り、javascript を使用して 2 つの値を計算するこのコードを作成しました。しかし、3 番目の入力フィールドに結果を出力できません。これを行うにはどうすればよいですか?

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function updatesum() {
document.form.total.value = (document.form.time.value -0) + (document.form.cost.value -0);
}
</script>
</head>
<body>

<form name="input" action="#" method="get">
Timespent
Timespent:<input type="text" name="time" value=" ">
Cost:<input type="text" name="cost" value=" ">
Totalcost:<input type="text" name="total" value=" ">
<input type="submit" value="Submit" onclick=updatesum()>
</form> 

</body>
</html>
4

2 に答える 2

5

動作中のjsFiddleデモ

フォームの送信を無効にします:

<form name="input" action="#" method="get" onsubmit="return false;">

あなたのform名前は です。その名前でinputアクセスする必要があります:

function updatesum() {
    document.input.total.value = (document.input.time.value -0) + (document.input.cost.value -0);
}

また、submitボタンには引用符が必要です:

<input type="submit" value="Submit" onclick="updatesum()">
于 2013-06-05T09:54:56.477 に答える
1

ワーキングデモ

入力の id 属性を次のように設定します

<form name="input" action="#" method="get">
Timespent
Timespent:<input type="text" name="time" value=" " id="txtTime">
Cost:<input type="text" name="cost" value=" " id="txtCost">
Totalcost:<input type="text" name="total" value=" " id="txtTotal">
<input type="submit" value="Submit" onclick="updatesum()">
</form>

そしてあなたの機能で

function updatesum() {
   // alert('a');
var time = document.getElementById("txtTime").value;
var cost = document.getElementById("txtCost").value;
var total=0; 
total = (time-0) +( cost-0);
   // alert(total);
document.getElementById("txtTotal").value = total;
return false;
}

イベントを防ぐために、関数は false を返す必要があります

于 2013-06-05T09:55:13.230 に答える