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関数に従って、一度に、テキストエリアは4つのテキストフィールドの1つからのデータのみを表示します. したがって、動き field1 は最大長に達し、field2 はコードに従ってフォーカスを取得します。

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

そのため、field2 がフォーカスされ、入力を続けると、テキストエリアが空白になり、field2 のデータが表示され始めます。

于 2012-05-21T09:04:52.433 に答える