Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставить textarea в input (https://javascript.ru/forum/misc/62078-vstavit-textarea-v-input.html)

djonA 23.03.2016 19:12

Вставить textarea в input
 
Подскажите, не получается при клике на кнопку вставить данные из textarea в input

Делаю так:


<table>
<tr><td><textarea class="textar" type="text" value="">1</textarea></td></tr>
<tr><td><textarea class="textar" type="text" value="">2</textarea></td></tr>
<tr><td><textarea class="textar" type="text" value="">3</textarea></td></tr>
<tr><td><input type="button" class="textar1" value="GO"></td></tr>
</table>	

<table>
<tr><td><input id="id1" type="text" value=""></td></tr>
<tr><td><input id="id2" type="text" value=""></td></tr>
<tr><td><input id="id3" type="text" value=""></td></tr>
</table>

<script>

$(".textar1").click(function() {
var id1=$( this ).prev(".textar").val();
var id2=$( this ).prev(".textar").prev(".textar").val();
var id3=$( this ).prev(".textar").prev(".textar").prev(".textar").val();

document.getElementById("id1").value=id1;
document.getElementById("id2").value=id2;
document.getElementById("id3").value=id3;

});
</script>


Помогите, что делаю не так?

Strongman 23.03.2016 19:43

<table>
<tr><td><textarea class="textar" type="text" value="" id="n1">1</textarea></td></tr>
<tr><td><textarea class="textar" type="text" value="" id="n2">2</textarea></td></tr>
<tr><td><textarea class="textar" type="text" value="" id="n3">3</textarea></td></tr>
<tr><td><input type="button" class="textar1" value="GO" id="b1"></td></tr>
</table>	

<table>
<tr><td><input id="id1" type="text" value=""></td></tr>
<tr><td><input id="id2" type="text" value=""></td></tr>
<tr><td><input id="id3" type="text" value=""></td></tr>
</table>

<script>
/*$(".textar1").click(function() {
var id1=$( this ).prev(".textar").val();
var id2=$( this ).prev(".textar").prev(".textar").val();
var id3=$( this ).prev(".textar").prev(".textar").prev(".textar").val();

document.getElementById("id1").value=id1;
document.getElementById("id2").value=id2;
document.getElementById("id3").value=id3;*/
b1.onclick = function(){
id1.value = n1.innerHTML;
id2.value = n2.innerHTML;
id3.value = n3.innerHTML;}
</script>

djonA 23.03.2016 19:49

все надо реализовать на class в textarea.

Strongman 24.03.2016 10:44

Это задание что-ли такое? Так неудобно же ведь. С id-шниками куда проще. Ну берите тогда класс функцией document.getElementsByClassName("textar")[0] и вставляйте вместо 0 номер своего textarea.

Strongman 24.03.2016 10:45

В Вашем коде, кстати, не работает функция prev(). Она выдает какой-то бред. Она видимо нацеливается на элемент <tr>, <td> или еще какой-нибудь.

Decode 24.03.2016 18:00

<table>
  <tr><td><textarea class="textar" type="text" value="">1</textarea></td></tr>
  <tr><td><textarea class="textar" type="text" value="">2</textarea></td></tr>
  <tr><td><textarea class="textar" type="text" value="">3</textarea></td></tr>
  <tr><td><input type="button" class="textar1" value="GO"></td></tr>
</table>	

<table>
  <tr><td><input id="id1" type="text" value=""></td></tr>
  <tr><td><input id="id2" type="text" value=""></td></tr>
  <tr><td><input id="id3" type="text" value=""></td></tr>
</table>

<script src="https://code.jquery.com/jquery-2.1.4.js"></script>

<script>
  $(".textar1").click(function() {
    $(this).closest('table').find('.textar').each(function() {
      $('#id' + $(this).val()).val( $(this).val() );
    });
  });
</script>


Часовой пояс GMT +3, время: 07:26.