我正在尝试创建一个简单的计算器,它从1个文本框中取一个数字,在点击提交按钮后,它取数字并将其乘以92,然后将其放入只读框中。 这就是我到目前为止所做的:
<form name="1star">
<input type="text" name="input"/>
<input type="button" value="Enter" OnClick="1star.output.value == 1star.input.value * 92"/>
<br/>
<input type="text" name="output" readonly="readonly" />
</form>
这不起作用,我可以使用一些帮助。我知道这很容易,但我对js很新,我不明白为什么这不起作用。
答案 0 :(得分:1)
<form name="onestar">
<input type="text" name="input"/>
<input type="button" value="Enter" OnClick="onestar.output.value = onestar.input.value * 92"/>
<br/>
<input type="text" name="output" readonly="readonly" />
</form>
标识符不能以JavaScript中的数字开头,因此1star
是错误的。此外,您需要=
(分配),而不是==
(比较)。
尽管如此,上面有一些过时的或初学的做法。如果我正在编写它,我会将脚本与标记分开,并且我将使用document.getElementById
来获取元素,而不是依赖于name
定义的隐式变量。我也会明确地将字符串解析为数字。但是现在没必要太担心了。尽管乍一看代码看起来要复杂得多,但随着程序越来越大,所有这些都会让你的生活变得更轻松。
var input = document.getElementById('input');
var output = document.getElementById('output');
var button = document.getElementById('button');
button.addEventListener('click', function(evt) {
var value = parseInt(input.value, 10);
if (!isNaN(value)) {
output.value = value * 92;
}
});
<form>
<input type="text" id="input"/>
<input type="button" id="button" value="Enter"/>
<br/>
<input type="text" id="output" readonly="readonly" />
</form>