我想只改变输入的一个值,例如:在输入收入“xy”中我想改变只是“和”假设一个新值是“p”,而“x”离开。最终结果应为“xp”。
http://s2.subirimagenes.com/privadas/previo/thump_2265651input.png http://s2.subirimagenes.com/privadas/previo/thump_2265653input2.png
<input type="text"id="txtChar1" onkeypress="isNumberKey();">
function isNumberKey()
{
var text = document.getElementById(txtChar1).value;
if (text[1] >= 0)
{
text[1].write("p");
text[1].value ="p";
text.charAt(1).value = "p";
text[1].innerHTML = "p";
text[1] = "p";
}
}
忘记澄清在这种情况下存在的选项是那些探测并且没有行走的选项。
答案 0 :(得分:1)
字符串是不可变的。你的描述不清楚,但我能说的最好的是你想要颠倒字符的顺序。
function isNumberKey()
{
var el = document.getElementById("txtChar1");
el.value = el.value.split("").reverse().join("");
}
.split("")
将字符串转换为字符数组。然后.reverse()
反转这些数组成员的顺序,.join("")
将成员连接回字符串。
另一种方法是将this
传递给函数,因为那是更新的。
<input type="text"id="txtChar1" onkeypress="isNumberKey(this);">
function isNumberKey(el)
{
el.value = el.value.split("").reverse().join("");
}
我不会详细说明你的代码出了什么问题,因为我认为你只是把一堆任意的代码放在一起,希望它可以工作。不用说,这几乎都是错的。