Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用onkeyup在标签内显示用户输入值_Javascript_Html_Dynamic Programming - Fatal编程技术网

Javascript 如何使用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

我想知道如何使用onkeyup方法将文本框中输入的值显示到标签中。 我可以在文本框中显示它。 这就是我到目前为止所做的:

<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谢谢大家,我没有看到标签,但我明白了重点,我急于为它制作一个片段。对不起,朋友们,谢谢提醒。