Как передать вывод из одной текстовой области в другую текстовую область

Я некоторое время застрял в этой проблеме, я пытаюсь передать свой вывод текста, который закодирован, в другое текстовое поле, чтобы я мог снова декодировать текст.

Мне нужно установить значение текстовой области с идентификатором de-code-message на вывод

function()
            var name = (input + 66) % 26;
            var l= word[c];

          }
        }
        document.getElementById("username").innerHTML = Text.join("");
      }


            Text.push(MsgBox1[idx]);

          } else {

        }
       return;
]

Можете ли вы также опубликовать html, чтобы я мог попытаться лучше понять, что вы хотите сделать?

pavelbere 05.03.2019 16:02

Пожалуйста, исправьте синтаксические ошибки и уточните, что подразумевается под «передать вывод, который я получаю в конце функции кодирования, в текстовую область внутри функции декодирования», поскольку текстовые области не находятся внутри функций. Я думаю, вы имеете в виду установить значение текстовой области с идентификатором de-code-message на выходе функции encode().

Randy Casburn 05.03.2019 16:02

где объявлено EncodedText?\

Maheer Ali 05.03.2019 16:06

Я обновил его.

user10588661 05.03.2019 16:10

Он спрашивает только о том, как получить значение одного текстового поля и установить значение другого текстового поля. Нам не нужен весь его код, чтобы сделать это.

FiniteLooper 05.03.2019 16:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
459
2

Ответы 2

Вам нужно использовать .value вместо .innerHTML

Это связано с тем, что когда вы вводите текст в поле формы <textarea>, вы меняете значение поля, а не HTML-код между тегами.

var text1 = document.querySelector("#one");
var text2 = document.querySelector("#two");
var btnValue = document.querySelector("#copyValue");
var btnHtml = document.querySelector("#copyInnerHtml");

btnValue.addEventListener("click", function(){
  text2.value = text1.value;
});

btnHtml.addEventListener("click", function(){
  text2.innerHTML= text1.innerHTML;
});
body { display: flex;}
#button-container{ margin: 0 10px; align-self: center; flex: 0;}
button{ display: block; padding: 8px 4px;}
textarea { resize: vertical; min-height: 100px; }
<textarea id = "one">This has text!, you can change it and it will copy over!</textarea>

<div id = "button-container">
  <button type = "button" id = "copyValue">
    Copy via <code>value</code> &rarr;
  </button>

  <button type = "button" id = "copyInnerHtml">
    Copy via <code>innerHTML</code> &rarr;
  </button>
</div>

<textarea id = "two"></textarea>

ПРИМЕЧАНИЕ

Использование .innerHTML будет работать, но только в первый раз, так как HTML еще не редактировался. Когда вы редактируете поле, вы меняете значение, а не HTML внутри!

.innerHTML в данном случае не имеет значения. Я отредактировал код, см.
Maheer Ali 05.03.2019 16:16

нет, .innerHTML будет работать в первый раз, но не после того, как вы наберете текстовое поле и измените значение

FiniteLooper 05.03.2019 16:18

Когда я меняю свой код на .value, он вообще ничего не отображает.

user10588661 05.03.2019 16:27

Подробности прокомментированы в демо

// Reference the <form>
var ED = document.forms.encDec;
// Callback function enDe() -- passes Event Object
function enDe(event) {
  // Collect all <button> and <textarea> into a NodeList
  var ui = this.elements;
  // Reference the <textarea>s
  var dIN = ui.decIn;
  var eOUT = ui.encOut;
  var eIN = ui.encIn;
  var dOUT = ui.decOut;
  var alpha = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
  // Reference the clicked element
  var clicked = event.target;
  
  /*
  - if the clicked element id is 'enc'...
  - Get the value of Decoded In
  - split() the value into an array
    - map() each character of value
    - return the encoded array
  - join() the encoded array into a string
  - Display the string in Encoded Out
  */
  /*
  - Otherwise if the clicked element id is 'dec'...
  ---Same as above with variations---
  */
  /*
  - Otherwise if the clicked element id is 'trans'...
  - Swap values of Encode Out and Decode Out
  */
  if (clicked.id === 'enc') {
    var decTextIN = dIN.value;
    var eTran = decTextIN.split('').map(function(char) {
      var idx = alpha.indexOf(char);
      return alpha[((idx + 66) % 26)];
    });
    eOUT.value = eTran.join('');

  } else if (clicked.id === 'dec') {
    var encTextIN = eIN.value;
    var dTran = encTextIN.split('').map(function(char) {
      var idx = alpha.indexOf(char);
      return alpha[((idx + 12) % 26)];
    });
    dOUT.value = dTran.join('');

  } else if (clicked.id === 'trans') {
    dIN.value = dOUT.value;
    eIN.value = eOUT.value;
  } else {
    return false;
  }
}

// Register the click event to the <form>
ED.addEventListener('click', enDe);
<form id='encDec'>
  Decoded In: &nbsp;<textarea id = "decIn"> </textarea>
  <button id = "enc" type='button'> Encode </button>
  <br> Encoded Out:<textarea id = "encOut"> </textarea>

  <hr>
  <button id='trans' type='button'>Transfer</button>
  <hr> 

  Encoded In: &nbsp;<textarea id = "encIn"> </textarea>
  <button id = "dec" type='button'> Decode </button>
  <br> Decoded Out:<textarea id = "decOut"> </textarea>
</form>

Другие вопросы по теме