在文本框中显示结果

时间:2015-07-28 04:48:26

标签: javascript html dom javascript-events

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



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()">
&#13;
&#13;
&#13;

我试着这样做:

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

但这不起作用。任何想法?

2 个答案:

答案 0 :(得分:2)

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

Demo

&#13;
&#13;
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;
  // ^^^^^^^^^^^^^^^^
}
&#13;
Please enter your text
<br>
<input type="text" id="textb">
<p id="results"></p>
<input type="button" value="Reverse" onclick="revme()">
&#13;
&#13;
&#13;

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

Demo

&#13;
&#13;
var textb = document.getElementById("textb");

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

答案 1 :(得分:0)

让它完成。我得到了我输入的任何值的确切反向模式。

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