我有2个文件,我的索引和我的JS文件。
在我的索引中,我将有一个输入字段的形式,我的索引文件将链接到我的JS文件。
在我的JS文件中,我将有一个变量列表,这些变量将从我的索引文件input
字段中获取它们的值。我计划在函数中将我的一些值相乘。
在不返回NaN
或undefined
的情况下,执行此操作的正确方法是什么?
我一直试图通过设置onkeyup或onclick上的var值作为'document.getelementbyid',但它永远不会返回任何内容......
一些示例代码是, HTML
<input type="radio" id="ServiceLevel" value="0.84" name="ServiceLevel"onclick="getValue()"/>
<input type="radio" id="ServiceLevel" value="0.67" name="ServiceLevel" onclick="getValue()"/>
<input type="radio" id="ServiceLevel" value="0.56" name="ServiceLevel" onclick="getValue()"/>
<input type="radio" id="ServiceLevel" value="0.28" name="ServiceLevel" onclick="getValue()"/>
<input type="radio" id="ServiceLevel" value="0.14" name="ServiceLevel" onclick="getValue()"/>
和JS
var ServiceLevel = document.getElementById(ServiceLevel).value;
var EstimatedCoreHours = 10;
// Cost Estimate
var CostEstimate = ServiceLevel * EstimatedCoreHours;
function CalculateEstimate() {
alert('test = ' +CostEstimate);
// Estimate Cost
parseInt(document.getElementById("PriceEstimate").innerHTML=CostEstimate.toFixed(2));
// Estimate Core Hours
parseInt(document.getElementById("EstimatedCoreHours").innerHTML=EstimatedCoreHours.toFixed(2));
}
答案 0 :(得分:0)
我试过这个检查:
var ServiceLevel = document.getElementById(ServiceLevel).value;
var EstimatedCoreHours = 10;
// Cost Estimate
CostEstimate = ServiceLevel * EstimatedCoreHours;
function CalculateEstimate() {
alert('test = ' +CostEstimate);
// Estimate Cost
parseInt(document.getElementById("PriceEstimate").value=CostEstimate.toFixed(2));
// Estimate Core Hours
parseInt(document.getElementById("EstimatedCoreHours").value=EstimatedCoreHours.toFixed(2));
}
答案 1 :(得分:0)
您需要在javascript中获取值。这是你应该怎么做
创建文件index.htm
<html>
<head>
<script src="script.js"></script>
</head>
<body>
<form>
<input id="a1" name="a1">
<input id="a2" name="a2">
<input id="a3" name="a3">
<input type=button onClick='Calculate()'>
</form>
</body>
</html>
<强>的script.js 强>
function Calculate()
{
var v1 = document.getElementById ("a1").value;
var v2 = document.getElementById ("a2").value;
var v3 = document.getElementById ("a3").value;
var total = GetNumeric (v1) + GetNumeric(v2) + GetNumeric(v3);
}
function GetNumeric(val) {
if (isNaN(parseFloat(val))) {
return 0;
}
return parseFloat(val);
}
答案 2 :(得分:0)
var ServiceLevel = document.getElementById(ServiceLevel).value;
// ServiceLevel = null
这应该在函数中,而在打开此网页时,getElementById将为null。
2 。您的输入单选按钮具有相同的名称和ID,如果是这种情况应该采取值,或者他们是个人OR组