【问题标题】:Display the results in a text box在文本框中显示结果
【发布时间】:2015-10-18 11:49:19
【问题描述】:

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

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;

但这不起作用。有什么想法吗?

【问题讨论】:

  • 使用document.getElementById("textb").value = str1
  • 它在小提琴中工作出了什么问题&你把你的问题放在文本字段和结果显示到段落中,请更新并提出一个好问题..

标签: javascript html dom javascript-events


【解决方案1】:

您的代码的问题是您正在设置文本框的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" />

【讨论】:

    【解决方案2】:

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

        <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>
    

    【讨论】:

    • 你没有回答问题I would like for it to display the results in the very same text box
    猜你喜欢
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 2023-04-05
    相关资源
    最近更新 更多