Я некоторое время застрял в этой проблеме, я пытаюсь передать свой вывод текста, который закодирован, в другое текстовое поле, чтобы я мог снова декодировать текст.
Мне нужно установить значение текстовой области с идентификатором 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;
]
Пожалуйста, исправьте синтаксические ошибки и уточните, что подразумевается под «передать вывод, который я получаю в конце функции кодирования, в текстовую область внутри функции декодирования», поскольку текстовые области не находятся внутри функций. Я думаю, вы имеете в виду установить значение текстовой области с идентификатором de-code-message на выходе функции encode().
где объявлено EncodedText?\
Я обновил его.
Он спрашивает только о том, как получить значение одного текстового поля и установить значение другого текстового поля. Нам не нужен весь его код, чтобы сделать это.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно использовать .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> →
</button>
<button type = "button" id = "copyInnerHtml">
Copy via <code>innerHTML</code> →
</button>
</div>
<textarea id = "two"></textarea>Использование .innerHTML будет работать, но только в первый раз, так как HTML еще не редактировался. Когда вы редактируете поле, вы меняете значение, а не HTML внутри!
.innerHTML в данном случае не имеет значения. Я отредактировал код, см.
нет, .innerHTML будет работать в первый раз, но не после того, как вы наберете текстовое поле и измените значение
Когда я меняю свой код на .value, он вообще ничего не отображает.
Подробности прокомментированы в демо
// 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: <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: <textarea id = "encIn"> </textarea>
<button id = "dec" type='button'> Decode </button>
<br> Decoded Out:<textarea id = "decOut"> </textarea>
</form>
Можете ли вы также опубликовать html, чтобы я мог попытаться лучше понять, что вы хотите сделать?