javascript 在只读文本框中显示结果

olmpazwi  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(109)

我是html和java的新手。我正在尝试将字数的输出结果获取到一个只读文本字段中。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>input details </p>

<textarea id="input"></textarea>  

<div>
<br>
<button onclick="myfunction()">submit</button> 
        <br>
        <p>result </p>
      
      <input type="text" name="input" size="2" readonly>
        </div>
        
<script>  
        function myfunction() { 
        
        var name = document.getElementById("input").value;
        
      var val = document.getElementById("input").value;  
            if (val != "") {  
                words = val.replace(/\s+/gi, ' ').split(' ').length; 

</script>

</body>
</html>

我试着修改代码,但无法在文本字段中得到任何结果。

rdlzhqv9

rdlzhqv91#

欢迎使用HTML和JavaScript --尽管有时候会有点令人沮丧。
我可以看出这可能不起作用的几个原因:
1.您正在使用getElementById,但尚未将id分配给输入
1.您有一些不匹配的大括号({)-如果您打开了一个,则需要将其关闭
1.您实际上并没有对计算结果执行任何操作
1.您将输入和输出字段都命名为input,这会导致混淆。请为id给予不同的值。
为了帮助更容易地发现问题,我建议尽量保持代码良好的缩进,并使用一个好的IDE(微软的vscode是免费的,但也有其他的)。
这应该对你有用:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>input details </p>

<textarea id="input"></textarea>

<div>
    <br>
    <button onclick="myfunction()">submit</button>
    <br>
    <p>result </p>

    <input type="text" id="output" size="2" readonly>
</div>

<script>
    function myfunction() {
        var val = document.getElementById("input").value;
        if (val != "") {
            words = val.replace(/\s+/gi, ' ').split(' ').length;
            document.getElementById('output').value = words;
        }
    }
</script>

</body>
</html>

相关问题