更改文本框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的单个值的主要内容,如果未能解决你的问题,请参考以下文章

获取文本框文本,javascript 已更改 [重复]

单个 div 上的多个 onclick 事件 - 更改 div 边框颜色 - javascript

使用单个事件处理程序更改多个文本框值

执行 javascript - 机器人框架

如何更改熊猫数据框中的单个索引值?

使用纯javascript检测更改的输入文本框[重复]