我有这个代码,用户键入一个短语或单词,它会反转字符串,但我的问题是,我希望它在用户输入单词的同一文本框中显示结果。这是我的代码:
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;
我试着这样做:
document.getElementById("textb").innerHTML = str1;
但这不起作用。任何想法?
答案 0 :(得分:2)
您的代码存在的问题是您正在设置文本框的innerHTML
。相反,您应该设置文本框的value
。
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;
另一种反向字符串的方法是使用string
和array
函数,如下所示。我还建议您使用addEventListener
而不是内联事件处理程序。
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;
答案 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>