3 回答
TA贡献1811条经验 获得超6个赞
var t = document.getElementById("text").value
function func() {
document.getElementById("ascii").value = t;
}
目前您的var t = document.getElementById("text").value代码只会执行一次。第一次,该值将为“”,因为 textArea 第一次为空。
您需要将其移动到内部,func()以便每次func()执行时都会获得最新值
function func() {
var t = document.getElementById("text").value
document.getElementById("ascii").value = t;
}
TA贡献1812条经验 获得超5个赞
将 var 声明放入函数中:
function func() {
var t = document.getElementById("text").value
document.getElementById("ascii").value = t;
}
TA贡献2039条经验 获得超7个赞
您仅声明一次值,t而无法在单击按钮时查找并获取该值。任何您想要多次执行的任务都必须在函数或重复出现的表达式中,等等。以下演示仅在函数外部声明一个变量,其余变量在函数内部 - 详细信息在演示中注释。
顺便说一句,如果您正在处理表单字段(例如输入、输出、文本区域等),那么您有必要扭曲表单中的所有内容并使用表单来管理所有表单字段。
演示
// Reference the form
const editor = document.forms.editor;
// Register the form to the input event
editor.oninput = edit;
// pass the event object
function edit(event) {
/*
= 'this' is the form
= `field` is a NodeList of inputs, buttons, textareas,
etc
*/
const field = this.elements;
/*
= event.target is the tag the user interacted with
In this case it would be textarea#in
*/
const input = event.target;
// Reference textarea#out
const output = field.out;
/*
= if the event.target is textarea#in...
= Set the value of textarea#out to the value of
textarea#in
*/
if (input.id === 'in') {
output.value = input.value;
}
}
<form id='editor'>
<textarea id='in'></textarea>
<textarea id='out'></textarea>
</form>
- 3 回答
- 0 关注
- 131 浏览
添加回答
举报