Как преобразовать текстовую область для отображения чего-то другого (например, расшифровки base64) с javascript? - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь создать страницу расшифровки в HTML. Я могу получить ввод и показать его как вывод, но я не понимаю, как изменить текст в середине. Вот мой код: http://jsfiddle.net/RZwmX/1.

HTML:

<textarea name="CipherText" id="CipherText" placeholder="Enter ciphertext here:"></textarea>
<div id="prevCom"></div>

Javascript:

wpcomment.onkeyup = wpcomment.onkeypress = function(){
        wpcomment=btoa(wpcomment);
    document.getElementById('prevCom').innerHTML = this.value;
}

//////////////////////////////////////
//from: https://scotch.io/tutorials/how-to-encode-and-decode-strings-with-base64-in-javascript
// Define the string
var string = 'Hello World!';

// Encode the String
var encodedString = btoa(string);
console.log(encodedString); // Outputs: "SGVsbG8gV29ybGQh"

// Decode the String
var decodedString = atob(encodedString);
console.log(decodedString); // Outputs: "Hello World!"

Я получаю код от https://scotch.io/tutorials/how-to-encode-and-decode-strings-with-base64-in-javascript. Base64 - только один пример. То, что я хочу знать, как я делаю переход. В моей JSFiddle в строке 3 javascript я думал о реализации преобразования, но это не сработало.

1 Ответ

2 голосов
/ 07 апреля 2020

Я бы сделал что-то вроде этого:

const input = document.querySelector('#encoded-input')
const output = document.querySelector('#decoded-output')

input.oninput = e => {
  try {
    output.innerText = atob(e.target.value)
  } catch (error) {
    output.innerText = e.target.value
      ? 'Please enter a valid Base64 encoded value.'
      : ''
  }
}
<textarea id="encoded-input"></textarea>
<div id="decoded-output"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...