[英]Javascript can't get values from input
我正在尝试使用JavaScript从表单输入中获取值。 但是,每当我点击提交时,我要么一无所获,要么0或未定义。 大多是未定义的。 它似乎没有任何值。
这是代码
<form id="ecoCalculator">
<div class="form-group">
<label for="k0">Start Kapital</label>
<input type="number" name="k0" class="form-control" id="k0">
</div>
<div class="form-group">
<label for="kn">Slut Kapital</label>
<input type="number" name="kn" class="form-control" id="kn">
</div>
<div class="form-group">
<label for="x">Rente</label>
<input type="number" name="x" class="form-control" id="x">
</div>
<div class="form-group">
<label for="n">Terminer</label>
<input type="number" name="n" class="form-control" id="n">
</div>
<div class="ecoButtons">
<input type="button" value="Udregn" class="btn btn-default" onclick="k0Eco()">
<input type="reset" value="Ryd" class="btn btn-default">
</div>
</form>
<div class="ecoResult">
<p id="ecoResult">Resultat</p>
</div>
</div>
<script type="text/javascript">
// Public Variables
var k0 = document.getElementById('k0').value();
var kn = document.getElementById('kn').value();
var x = document.getElementById('x').value();
var n = document.getElementById('n').value();
// Calculation of Initial Capital
function k0Eco() {
// Calculation
var k0Value = kn / (1 + x) ^ n;
// Show Result
document.getElementById("ecoResult").innerHTML = k0;
}
我环顾了不同的问题,但尚未找到解决方案。
我试图更改输入的名称,使该功能仅显示一个值,但仍然没有结果。
谢谢
值不是函数,而是属性。 更改
var k0 = document.getElementById('k0').value()
至
var k0 = document.getElementById('k0').value
您的脚本还可以在页面加载时运行,因此尚未填充任何内容。 您需要将整个内容放入一个提交处理程序中:
document.getElementById('ecoCalculator').addEventListener('submit', function(e) {
e.preventDefault();
// your code here
});
现在,从按钮中删除内联js,并使其提交:
<input type="submit" value="Udregn" class="btn btn-default" />
并删除您的js中的函数
var k0 = document.getElementById('k0').value;
var kn = document.getElementById('kn').value;
var x = document.getElementById('x').value;
var n = document.getElementById('n').value;
// Calculation
var k0Value = kn / (1 + x) ^ n;
// Show Result
document.getElementById("ecoResult").innerHTML = k0Value;
您需要将输入值解析为int。 例如
// Public Variables
var k0 = parseInt(document.getElementById('k0').value);
var kn = parseInt(document.getElementById('kn').value);
var x = parseIntdocument.getElementById('x').value);
var n = parseIntdocument.getElementById('n').value);
使用value
代替value()
。 它是属性而不是函数。
将变量放入函数中。 当页面加载时,变量将获取输入的值,并且那里什么也没有。
function k0Eco() {
var k0 = document.getElementById('k0').value;
var kn = document.getElementById('kn').value;
var x = document.getElementById('x').value;
var n = document.getElementById('n').value;
var k0Value = kn / (1 + x) ^ n;
document.getElementById("ecoResult").innerHTML = k0Value;
}
<head>
标记内或至少在按钮之前。 当您尝试触发onclick()
事件时,尚未创建函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.