【发布时间】:2014-03-28 06:30:26
【问题描述】:
我正在尝试创建一个简单的程序,该程序将根据一个人的经验量 (totalTime) 分配一个数字 (riskLevel),并将其全部输入 HTML 中的快速表中。
我的 this.riskLevel 值有问题。我试图让它取 totalTime 值并使用 if/else 语句将整数分配给 riskLevel。
当我调用 getCrewmember() 函数(使用提交按钮)时,firstName、lastName 和 totalTime 都正确填充到 HTML 表中。 riskLevel 没有,它只是写出函数的整个代码。
我做错了什么?另外,我希望能够在 html 文本输入字段中输入姓名,并让该人的姓名出现在程序中。如何告诉 getCrewmember() 函数获取输入到文本字段中的值?
代码如下:
function pilot(firstName, lastName, totalTime){
this.firstName=firstName;
this.lastName=lastName;
this.totalTime=totalTime;
this.riskLevel=function(){
if(this.totalTime >= 1000){
riskLevel = 1;
}else if(this.totalTime >=500){
riskLevel = 2;
}else if(this.totalTime >= 250){
riskLevel = 3;
}
}
}
var jdoe = new pilot("Jon", "Doe", 480)
function getCrewmember(){
document.getElementById("firstName").innerHTML = jdoe.firstName;
document.getElementById("lastName").innerHTML = jdoe.lastName;
document.getElementById("totalHours").innerHTML = jdoe.totalTime;
document.getElementById("riskLevel").innerHTML = jdoe.riskLevel;
}
</script>
<table>
<thead>
<th>First</th>
<th>Last</th>
<th>Total Hours</th>
<th>Risk Level</th>
</thead>
<tr>
<td id="firstName">First Name</td>
<td id="lastName">Last Name</td>
<td id="totalHours">Total Hours</td>
<td id="riskLevel">Risk Level</td>
</tr>
<tr>
<td><input type="text" id="textField"></td>
</tr>
<tr>
<td><input type="submit" value="Get Crewmember" onclick="getCrewmember()"></td>
</tr>
</table>
【问题讨论】:
-
你想调用方法:
jdoe.riskLevel(),你想return 1|2|3;而不是分配给risklevel
标签: javascript function object methods