JavaScript 使用 CharAt 从输入文本中获取

JavaScript using CharAt get from input text

我有文本区域,我将使用 CharAt 获取字符 3 和 5..

文本区域

<div class="hash_ctrl"><textarea name="hash_input" id="hash_input"></textarea></div>

按钮 按钮 onclick="myFunction()"

<p id="demo"></p>

<script>
    function myFunction() {
        var x = document.getElementById("hash_input");
        var Val = x.charAt(3);
        var Val1 = x.charAt(5);

        document.getElementById("demo").innerHTML = Val + val1;
    }

</script> 

结果什么都没有...

感谢任何帮助...

使用document.getElementById("hash_input").value获取值。 .value 将从输入元素中检索 value 属性。

试试这个:

function myFunction() {
  var x = document.getElementById("hash_input").value;
  var Val = x.charAt(3);
  var Val1 = x.charAt(5);
  document.getElementById("demo").innerHTML = Val + Val1;
  //________________________________________________^^^^ typo here
}
<div class="hash_ctrl">
  <textarea name="hash_input" id="hash_input">HelLoO</textarea>
</div>
<button onclick="myFunction()">Test</button>
<p id="demo"></p>

您尝试在元素上调用 charAt() 而不是您应该在元素的值上调用它,因此尝试添加 .value,替换:

var x = document.getElementById("hash_input");

作者:

var x = document.getElementById("hash_input").value;

注意: Val + val1;应该是Val + Val1;Val1开头的v大写),也去掉额外的 } 在最后。

希望这对您有所帮助。


function myFunction() {
  var x = document.getElementById("hash_input").value;
  var Val = x.charAt(3);
  var Val1 = x.charAt(5);

  document.getElementById("demo").innerHTML = Val + Val1;
}
<div class="hash_ctrl">
  <textarea name="hash_input" id="hash_input">abcdef</textarea>
</div>
<button onclick="myFunction()">Execute my function</button>

<p id="demo"></p>

您需要使用 textaras value 属性 而不是 innerHTML(假设您要使用在文本区域中输入的内容)。

我也没有理由想使用 chartAt 方法。字符串像数组一样是可索引的。

    var a="value";  
    var b=a[2];  // "l"