如何将文本添加或更改到<;部门>;来自javascript的元素
我正在尝试创建一个程序,它接受您输入的任何文本,并(目前)在元素中显示它 以下是我的代码:如何将文本添加或更改到<;部门>;来自javascript的元素,javascript,html,input,Javascript,Html,Input,我正在尝试创建一个程序,它接受您输入的任何文本,并(目前)在元素中显示它 以下是我的代码: HTML: J.A.I。 Javascript: //takes input from <input type=text> function takeInput() { var question = this.value; displayOutput(question, output); } //displays output //@param messag
HTML:
J.A.I。
Javascript:
//takes input from <input type=text>
function takeInput() {
var question = this.value;
displayOutput(question, output);
}
//displays output
//@param message string Message to be displayed
//@param destination HTML element where the message is to be displayed
function displayOutput(message, destination) {
destination.innerHTML = message;
}
//init code
var input = document.getElementById("text");
var output = document.getElementById("dialogue");
input.onkeydown = takeInput();
//从
函数takeInput(){
var问题=此值;
显示输出(问题、输出);
}
//显示输出
//@要显示的参数消息字符串消息
//@要在其中显示消息的param destination HTML元素
功能显示输出(消息、目标){
destination.innerHTML=消息;
}
//初始化代码
var输入=document.getElementById(“文本”);
var输出=document.getElementById(“对话”);
input.onkeydown=takeInput();
我正在使用firefox 31.4.0,收到的错误是:
TypeError:目标为空
我做错了什么?您需要将函数分配给事件:
input.onkeydown = takeInput;
您立即调用了该函数。我认为这是因为您使用“text”作为id名称,并且它是保留的。不要将它用作ID。另外,我选择在HTML中绑定函数。因此,将其更改为:
<input id="txtField" type='text' onkeyup="takeInput()"></input>
下面是一个正在工作的JSFIDLE:
注意,在我的JSFIDLE中,我移动了一些代码。我发现在函数中收集所有内容更为干净,而不是将这些全局变量挂起:)
希望能有帮助。
/JBJ
*编辑*
看来“text”毕竟不是一个保留词:-)那么这个问题可能与事件绑定有关(我回答的第二部分)。下面是一个新的JSFIDLE,它使用“text”作为id:
删除等号前的空格<代码>非
如果您的问题已经得到回答,请记住接受答案,如果没有,请用更多信息更新答案。
<input id="txtField" type='text' onkeyup="takeInput()"></input>
var input = document.getElementById("txtField");