如何使用javascript从输入中连接字符串?

时间:2013-01-02 19:34:06

标签: javascript html

我有3个字段:姓名,姓氏和连续字。

我要做的是将字段名称的第一个字符与姓氏连接起来。 在我写的时候,Concat领域正在发生变化。

我现在有这个:

<p>Name</p><input type="text" id="name"  onChange="document.getElementById('concat').value=this[0].value;" />
<p>Last name</p><input type="text" id="last_name" document.getElementById('txt').value=document.getElementById('txt').value + this.value;"/>
<p>Concat</p>
<input type="text" id="concat"  />

但是第一个角色似乎没有起作用,我认为这个问题可能出现在[0] .value中;或者如何获得第一个聊天功能,还有其他任何功能吗?。

先谢谢。

3 个答案:

答案 0 :(得分:0)

您在First-Name文本框中的[0]上使用this,但它应该是实际值:

onChange="document.getElementById('concat').value=this.value[0];"

或者,您可以明确并使用.substring()来获取第一个字符:

onChange="document.getElementById('concat').value=this.value.substring(0, 1);"

这将获得输入的第一个字符。虽然写入/读取时间稍长,但它会传达您的确切目的。

注意:如果您的输入为空,当您使用undefined时,您会在concat文本框中插入this.value[0]值,因为那里不是[0]。使用.substring(0, 1)将不会提供此类文本(如果这是一个问题)。

此外,您的Last-Name的第二个文本框有两个拼写错误(基于您的示例代码),因为它不包含onchange=属性它使用了id txt代替concat。此外,它不会尝试获取名字文本框的子字符串。

尝试将完整的代码块更新为以下内容:

<p>Name</p>
<input type="text" id="name" onchange="document.getElementById('concat').value=this.value.substring(0, 1);" />
<p>Last name</p>
<input type="text" id="last_name" onchange="document.getElementById('concat').value=document.getElementById('name').value.substring(0, 1) + this.value;"/>
<p>Concat</p>
<input type="text" id="concat"  />

答案 1 :(得分:0)

this[0].value

如果你想要输入字段值的第一个字符,那不是你应该做的。

this是输入字段。 this.value是您想要第一个字符的字符串。 this.value[0]将为你提供第一个字符串。

所以:

this.value[0]

答案 2 :(得分:0)

你犯了一些错误,这是你的更正代码

<p>Name</p><input type="text" id="name"    onChange="document.getElementById('concat').value=this.value[0];" />
<p>Last name</p><input type="text" id="last_name" onChange="document.getElementById('concat').value=document.getElementById('name').value[0] + ' '    + this.value;"/>
<p>Concat</p>
<input type="text" id="concat"  />​​​​​​​​​​​​​​​​​​​​​​

请与您自己的代码进行比较!