首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个文本输入框复制到文本区域:

从多个文本输入框复制到文本区域:
EN

Stack Overflow用户
提问于 2012-05-21 16:47:11
回答 3查看 569关注 0票数 0

我有4个输入文本字段,我想让它们复制到一个文本区,我试图做同样的事情,使每个副本到一个单独的文本输入字段,但这不起作用。

我的代码如下:

代码语言:javascript
复制
<fieldset>
        <legend>Page Message:</legend>
        <div class="textarey">
        <input type="text" class="lookalike" id="message_text1" name="message_text1" onkeyup="copy_data(this);  if(this.value.length>=24) document.editPage.message_text2.focus()" style="text-decoration:ltr;" value="<?php echo $page['message_text']; ?>" size="38" maxlength="24"><br>

        <input type="text" id="message_text2" name="message_text2" maxlength="24" size="38" class="lookalike"  style="text-decoration:ltr;"  value="<?php echo $page['message_text']; ?>" onkeyup="copy_data(this); if(this.value.length>=24) document.editPage.message_text3.focus()"><br>

        <input type="text" id="message_text3" name="message_text3" maxlength="24" size="38" class="lookalike"  style="text-decoration:ltr;"   value="<?php echo $page['message_text']; ?>" onkeyup="copy_data(this);  if(this.value.length>=24) document.editPage.message_text4.focus()"><br>

        <input type="text" id="message_text4" name="message_text4" size="42" class="lookalike"  style="text-decoration:ltr;"  value="<?php echo $page['message_text']; ?>" onkeyup="copy_data(this)">
 </div>


      <textarea id="message" /><?php echo $page['message']; ?></textarea>

从字段复制的Javascript在这里:

代码语言:javascript
复制
   function copy_data(val){ 
        var messageText = document.getElementById(val.id).value 
            document.getElementById('message').innerHTML = messageText;


} 

我的问题是,每当文本字段到达它的maxchars的末尾时,它就会清除文本区域。有谁有什么想法吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-21 16:58:17

代码语言:javascript
复制
<script type="text/javascript">
var text = "";
  for(var x=1;x<=4;x++) {
     text += document.getElementById("message_text"+x).value;
     text += "\n";
  }
  document.getElementById("message").value = text;
</script>

  • 您可以考虑创建一个函数,用于将任何输入内容复制到任何元素中。
票数 1
EN

Stack Overflow用户

发布于 2012-05-21 16:49:20

代码语言:javascript
复制
function copy_data(val){ 
    var messageText = document.getElementById(val.id).value 
        document.getElementById('message').innerHTML += messageText;
}

但我建议不要使用内联js。

票数 2
EN

Stack Overflow用户

发布于 2012-05-21 17:04:52

我的问题是,每当一个文本字段到达它的maxchars的末尾时,它就会清除文本区域。有谁有什么想法吗?

这是因为即使到了maxchar的末尾,您仍然可以继续输入。根据你的javascript函数,textarea一次只能显示4个文本字段中的一个。因此,根据您的代码,移动field1达到最大长度,field2获得焦点。

代码语言:javascript
复制
onkeyup="copy_data(this);  if(this.value.length>=24) document.editPage.message_text2.focus()"

因此,当field2获得焦点,并且您继续键入时,文本区变为空白并开始显示field2数据。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10682056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档