javascript - 在应用拆分和连接功能并替换单词时将文本字段的值输出到另一个字段
问题描述
我正在尝试组合 2 个不同的 JS 代码,以便它们都能正常工作并执行所需的任务。
代码1:JS
let translator = {
"you": "yaseelf",
"I": "meseelf",
"quick": "fast",
"the": "dee"
};
var button = document.querySelector("#button_1");
var input = document.querySelector("#input");
var output = document.querySelector("#output_main");
button.addEventListener("click", () => {
let words = input.value.split(' ');
let translated = words.map(word => translator[word] || word);
output.innerHTML = translated.join(' ');
})
代码 1:HTML
<input id="input" type="text" value="Lets go to the park" />
<button id="button_1">translate</button>
<textarea id="output_main"></textarea>
上面的代码工作正常,输入字段的文本被替换为数组中描述的单词,例如“快速”被替换为“快速”。
当您按下按钮翻译按钮时执行上述代码。
我想要实现的是在输入字段中输入文本时,其输出应显示在 RUNTIME 的文本区域中,并且还应完成上述代码中完成的文本替换。所以不需要按翻译按钮来替换输入的文本并在 textarea 中输出
例子:
在输入字段中,用户输入“The Quick Brown Fox Jumps Over the Lazy Dog”,它应该在运行时被替换并显示在输出字段中,因此输出(不按下按钮)应该是:
“dee fast 棕狐跳过懒狗”
到目前为止,我已经使用以下代码在不同的文本字段上实现了运行时文本输出:
JS:
function enterAmt(ev) {
document.getElementById('amt2').value = ev.value;
}
HTML:
Amount 1<input type="text" id="input" name="amtname" size="5" maxlength="7" onkeyup="enterAmt(this)"><br><br>
Amount 2<textarea name="amtname" size="5" maxlength="7" value="" id="amt2"></textarea>
我还是一个新手,所以不知道如何让这两个代码一起工作,但是,他们都单独完成这个功能,现在只需要帮助来组合它们。
简而言之,我希望在输入中输入的文本被替换(用我在上面的代码 1 中描述的单词)并在运行时显示在 textarea 中,即无需按下按钮或等待。
解决方案
您可以使用输入事件。
let translator = {
"you": "yaseelf",
"I": "meseelf",
"quick": "fast",
"the": "dee"
};
var input = document.querySelector("#input");
var output = document.querySelector("#output_main");
input.addEventListener("input", () => {
let words = input.value.split(' ');
let translated = words.map(word => translator[word] || word);
output.value = translated.join(' ');
})
<input id="input" type="text" value="Lets go to the park" />
<textarea id="output_main"></textarea>
推荐阅读
- ios - UserDefaults 文本/SwiftUI
- python - 分组后数据框中缺少维度(名称)列
- android - Zxing 不扫描 BarCode Android
- python - PatsyError: 除了 '0' 和 '1' 之外的数字只允许使用 ** dont' not resolve when using Q
- python - Python 模块导入语句在 PyCharm 中运行,但在 VSCode 中不运行
- windows - 通过 Windows 命令行将特定文件编码为 Base64
- flutter - 调用 HandshakeException 时出错:无法获取本地颁发者证书(handshake.cc:363))
- npm - 在 docker 镜像中使用 fork npm 包
- php - Wordpress 分类法最后一个孩子用“en”而不是逗号分隔
- c# - 使用选项模式的集合的默认值 - 默认值始终保留在那里