0

我有 4 个输入文本字段,我想让它们复制到一个文本区域,我尝试将每个副本复制到一个单独的文本输入字段,但这不起作用。

我的代码如下:

<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 在这里:

   function copy_data(val){ 
        var messageText = document.getElementById(val.id).value 
            document.getElementById('message').innerHTML = messageText;


} 

我的问题是,每次文本字段到达它的 maxchars 末尾时,它都会清除文本区域。有人在这里有什么想法吗?

谢谢

4

3 回答 3

2
function copy_data(val){ 
    var messageText = document.getElementById(val.id).value 
        document.getElementById('message').innerHTML += messageText;
}

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

于 2012-05-21T08:49:19.530 回答
1
<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>
  • 您可能会考虑制作一个函数,用于从您想要的任何输入复制到任何元素。
于 2012-05-21T08:58:17.337 回答
-1

我的问题是,每次文本字段到达它的 maxchars 末尾时,它都会清除文本区域。有人在这里有什么想法吗?

这是因为即使您到达 maxchar 的末尾,您仍然会继续输入。根据您的 javascript 函数,textarea 一次将仅显示来自 4 个文本字段之一的数据。因此,运动 field1 达到最大长度, field2 根据您的代码获得焦点。

onkeyup="copy_data(this);  if(this.value.length>=24) document.editPage.message_text2.focus()"

因此,随着 field2 获得焦点,并且您继续输入,您的 textarea 变为空白并开始显示 field2 数据。

于 2012-05-21T09:04:52.433 回答