Javascript 如何使用onkeyup在标签内显示用户输入值
我想知道如何使用onkeyup方法将文本框中输入的值显示到标签中。 我可以在文本框中显示它。 这就是我到目前为止所做的:Javascript 如何使用onkeyup在标签内显示用户输入值,javascript,html,dynamic-programming,Javascript,Html,Dynamic Programming,我想知道如何使用onkeyup方法将文本框中输入的值显示到标签中。 我可以在文本框中显示它。 这就是我到目前为止所做的: <script> function multiply(value){ var x; x= 2*value; document.getElementById('out2x').value=x; } </script> <body> <div style="m
<script>
function multiply(value){
var x;
x= 2*value;
document.getElementById('out2x').value=x;
}
</script>
<body>
<div style="margin:auto; width:300px; background-color:lightblue; padding:5px;">
<label for="">Input</label>
<input type="text" name="" onkeyup="multiply(this.value);">
<br>
<label for="">Result(x2):</label>
<input type="text" id="out2x" name="" readonly>
</div>
</body>
函数乘法(值){
var x;
x=2*值;
document.getElementById('out2x')。值=x;
}
输入
结果(x2):
我试图将id“out2x”设置为label,但它不起作用。文档中的
脚本实际在哪里?它应该正好在关闭body
标记之前,这样当到达它时,所有HTML都将被解析。如果在解析HTML之前运行脚本
,则document.getElementById()
语句将找不到匹配的元素
另外,输入
的值
始终是一个字符串。你必须把它转换成一个数字,才能用它做数学运算。有几种方法可以做到这一点,您需要为输入错误地包含非数字值的情况做好准备,但在下面,我通过在+
前面加上一个+
来转换值
还有几件事
您没有正确使用标签
元素。for
属性的值必须与标签为“for”的表单元素的id
属性值相匹配,或者您可以将表单元素嵌套在标签中,以便它知道它与哪个元素相关
不要使用内联JavaScript-将其分离到JavaScript代码中
输入
结果(x2):
//在JavaScript中处理事件,而不是使用内联JavaScript
document.querySelector(“输入”).addEventListener(“键控”,函数(事件){
//必须将输入字符串转换为数字
document.getElementById('out2x').textContent=2*+this.value;
});
在您的情况下,我有一个类似于jQuery的简单键控
$('#value').keyup(function (){
$('#copy-value').val($(this).val());
});
例如,这个片段:
$('#value').keyup(函数(){
$('#copy value').val($(this.val());
});代码>
输入
结果(x2):
我将脚本放在结束正文标记之前,并执行了以下操作:但标签值仍然为空。@SaishMahale移动脚本
只是需要执行的部分操作。必须将输入值
转换为数字,才能进行数学运算。从我上面的代码中可以看出,它是有效的。我尝试了您建议的更改,现在可以了,谢谢。这个问题没有用JQuery标记。此外,虽然您可能已经提供了一个有效的解决方案,但好的答案应该能够回答您在这里没有回答的原始问题。事实上,您的解决方案没有解决问题的数学部分或脚本问题的位置。@ScottMarcus谢谢大家,我没有看到标签,但我明白了重点,我急于为它制作一个片段。对不起,朋友们,谢谢提醒。