如何使用javaScript正确设置文本字段的值?
我试着得到4个等级的平均值,并在一个文本字段中通过 它得到的是平均值,唯一不起作用的部分是如何使用javaScript正确设置文本字段的值?,javascript,html,Javascript,Html,我试着得到4个等级的平均值,并在一个文本字段中通过 它得到的是平均值,唯一不起作用的部分是grade.value=grade零件 这是我的密码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Week #10 JavaScript Assignment: Problem #1</title> <script type = "text/javasc
grade.value=grade代码>零件
这是我的密码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Week #10 JavaScript Assignment: Problem #1</title>
<script type = "text/javascript">
function calcgrade(one,two,three,four){
sum = parseInt(one.value) + parseInt(two.value) + parseInt(three.value) + parseInt(four.value);
grade = sum / 4;
grade.value = grade;
}
</script>
</head>
<body>
<h1>Calculate Grade</h1>
<form>
<table>
<tr>
<th>Assignment #</th>
<th>Grade</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" id="one" name="one"></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" id="two" name="two"></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" id="three" name="three"></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" id="four" name="four"></td>
</tr>
<tr><td colspan="2"><input type="button" onclick="calcgrade(one, two, three, four)" value="Calculate Grade"></td></tr>
<tr>
<td>Grade:</td>
<td><input type="text" id="grade" name="grade"></td>
</tr>
</td>
</form>
</body>
</html>
第10周JavaScript作业:问题1
函数calcgrade(一、二、三、四){
sum=parseInt(1.value)+parseInt(2.value)+parseInt(3.value)+parseInt(4.value);
等级=总和/4;
grade.value=等级;
}
计算等级
分配#
等级
1.
2.
3.
4.
等级:
您需要在javascript中获取元素
gradeEle = document.getElementById("grade");
gradeEle.value = grade;
您需要在javascript中获取元素
gradeEle = document.getElementById("grade");
gradeEle.value = grade;
应该是:
document.getElementById('grade').value = grade;
应该是:
document.getElementById('grade').value = grade;
您试图为两个不同的值重用grade
,但它只能保留其中一个值
grade.value = grade;
// ^ element
// ^ division result
您可能需要使用不同的变量:
var result = sum / 4;
grade.value = result;
或者,您可以完全跳过它:
grade.value = sum / 4;
不过,请注意,id
s的自动全局变量并不总是得到保证,通常不建议依赖它们
相反,您可以从
中访问任何名称
d表单项,反之亦然
<input type="button" onclick="calcgrade(this.form)" ...>
或者,使用查找每个特定的:
function calcgrade() {
var grade = document.getElementById('grade');
var one = document.getElementById('one');
// etc.
}
您试图为两个不同的值重用grade
,但它只能保留其中一个值
grade.value = grade;
// ^ element
// ^ division result
您可能需要使用不同的变量:
var result = sum / 4;
grade.value = result;
或者,您可以完全跳过它:
grade.value = sum / 4;
不过,请注意,id
s的自动全局变量并不总是得到保证,通常不建议依赖它们
相反,您可以从
中访问任何名称
d表单项,反之亦然
<input type="button" onclick="calcgrade(this.form)" ...>
或者,使用查找每个特定的:
function calcgrade() {
var grade = document.getElementById('grade');
var one = document.getElementById('one');
// etc.
}
使用
document.getElementById('grade')。value=grade代码>使用
document.getElementById('grade')。value=grade代码>他从未为元素设置等级。@Barmar不一定非得这么做。(它是否记录了false
或DIV
?)许多当前浏览器都支持自动全局搜索,并且目前在WHATWG的草稿中有记录。他从不给元素设置等级。@Barmar不一定非得这么做。(它是否记录了false
或DIV
?)许多当前浏览器都支持自动全局搜索,并且目前在WHATWG的草稿中有记录。您应该使用var
声明来声明局部变量,而不是对所有对象使用全局变量。您应该使用var
声明来声明局部变量,而不是对所有对象使用全局变量。