在文本框中显示结果

Display the results in a text box

我有这段代码,用户输入一个短语或单词,它反转字符串,但我的问题是我希望它在用户输入单词的同一个文本框中显示结果。这是我的代码:

function revme() {
  var textb = document.getElementById("textb");
  var str = textb.value;
  var str1 = "";

  l = str.length;
  for (i = l; i >= 0; --i) {
    str1 = str1 + str.substring(i, i + 1);
  }
  document.getElementById("results").innerHTML = str1;
}
Please enter your text
<br>
<input type="text" id="textb">
<p id="results"></p>
<input type="button" value="Reverse" onclick="revme()">

我试过这样做:

document.getElementById("textb").innerHTML = str1;

但这行不通。有什么想法吗?

您的代码存在问题,您正在设置文本框的 innerHTML。相反,您应该设置文本框的 value

Demo

var textb = document.getElementById("textb");

function revme() {
  var str = textb.value;
  var str1 = "";

  l = str.length;
  for (i = l; i >= 0; --i) {
    str1 = str1 + str.substring(i, i + 1);
  }
  textb.value = str1;
  // ^^^^^^^^^^^^^^^^
}
Please enter your text
<br>
<input type="text" id="textb">
<p id="results"></p>
<input type="button" value="Reverse" onclick="revme()">

另一种反转字符串的方法是使用 stringarray 函数,如下所示。我还建议您使用 addEventListener 而不是内联事件处理程序。

Demo

var textb = document.getElementById("textb");

document.getElementById('reverse').addEventListener('click', function() {
  var str = textb.value || '';
  textb.value = str.split('').reverse().join('');
}, false);
Please enter your text
<br>
<input type="text" id="textb">
<p id="results"></p>
<input type="button" id="reverse" value="Reverse" />

让它通过这个完成..我得到了我输入的任何值的完全相反的模式。

    <html>
<body>
Please enter your text<br>
<input type="text" id="textb">
<p id="results"></p>
<input type="button" value="Reverse" onclick="revme()">
</body>
<script>
function revme() {
var textb = document.getElementById("textb");
var str = textb.value;
var str1 = "";

l = str.length;
    for  (i = l ; i >=0 ; --i ){
        str1 = str1 + str.substring(i,i+1);
    }
    document.getElementById("textb").value= str1;
}
</script>
</html>