更改文本框Javascript的单个值
Posted
技术标签:
【中文标题】更改文本框Javascript的单个值【英文标题】:Change a single value of a textbox Javascript 【发布时间】:2014-11-28 17:54:21 【问题描述】:我想只改变一个输入的一个值,例如:在输入收入“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";
忘记澄清在这种情况下存在的选项是那些探测并且没有行走的选项。
【问题讨论】:
你不应该用text[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("");
我不会详细说明您的代码出了什么问题,因为我认为您只是将一堆任意代码拼凑在一起,希望它能正常工作。不用说,这几乎都是错误的。
【讨论】:
我认为这不是 OP 想要的(不确定,因为问题很不清楚)。但是 +1 表示“字符串是不可变的”。 @Oriol:是的,我不确定。这个描述对我来说几乎没有意义。我认为至少摆脱所有错误代码是一个很好的第一步。 :-) 对不起,输入要更改“P”中的“Y”:s2.subirimagenes.com/privadas/previo/thump_2265651input.pngs2.subirimagenes.com/privadas/previo/thump_2265653input2.png @FabricioNahuelRori:el.value = el.value.replace("y", "p");
或者如果你需要替换几个,使用全局正则表达式。 el.value = el.value.replace(/y/g, "p");
以上是关于更改文本框Javascript的单个值的主要内容,如果未能解决你的问题,请参考以下文章