Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript捕获输入并提供输出_Javascript_Input_Output - Fatal编程技术网

使用Javascript捕获输入并提供输出

使用Javascript捕获输入并提供输出,javascript,input,output,Javascript,Input,Output,我终于开始学习Javascript了;我正在尝试做一些简单的事情:在提供输出的同时捕获键盘输入。我得到了键盘按键的半响应输出,但是一旦按下enter,我就无法在页面的输出部分附加一行输入。我做错了什么 <script language="javascript"> processCommand = function(cmd) { if (this.text == null) this.text = ""; this.text = this.tex

我终于开始学习Javascript了;我正在尝试做一些简单的事情:在提供输出的同时捕获键盘输入。我得到了键盘按键的半响应输出,但是一旦按下
enter
,我就无法在页面的输出部分附加一行输入。我做错了什么

<script language="javascript">
    processCommand = function(cmd) {
        if (this.text == null) this.text = "";
        this.text = this.text + cmd + "<br>";
        document.getElementById("outputID") = this.text;
    }
    document.onkeydown = function(evt) {
        if (this.text == null) this.text = ""; 
        var keyChar = String.fromCharCode(evt.keyCode);
        this.text = this.text + keyChar;
        if (evt.keyCode == 13) {
            processCommand(this.text);
            this.text = "";
        }
        document.getElementById("input").innerHTML = this.text;
    };
</script>
<spad id="outputID"/><br>
<hr>
<spad id="input"/>

processCommand=函数(cmd){
如果(this.text==null)this.text=“”;
this.text=this.text+cmd+“
”; document.getElementById(“outputID”)=this.text; } document.onkeydown=函数(evt){ 如果(this.text==null)this.text=“”; var keyChar=String.fromCharCode(evt.keyCode); this.text=this.text+keyChar; 如果(evt.keyCode==13){ processCommand(this.text); this.text=“”; } document.getElementById(“输入”).innerHTML=this.text; };


processCommand=函数(cmd){
如果(this.text==null)this.text=“”;
this.text=this.text+cmd+“
”; outputID.innerHTML=this.text; } document.onkeydown=函数(evt){ 如果(this.text==null)this.text=“”; var keyChar=String.fromCharCode(evt.keyCode); this.text=this.text+keyChar; 如果(evt.keyCode==13){ processCommand(this.text); this.text=“”; } input.innerHTML=this.text; };


id附加到窗口对象,通过在函数中使用变量的方式,就不会那么混乱了。

它是
document.getElementById(“outputID”).innerHTML=this.text
not
document.getElementById(“outputID”)=this.text
。我要做的第一件事是为
document.getElementById(“outputID”)
document.getElementById(“input”)
元素引入一个变量。无需在每次按键时查看它们。这两个函数中的文本都是两个独立的变量。谢谢提示。现在我需要了解为什么
processCommand
似乎只工作一次
<script language="javascript">
 processCommand = function(cmd) {
    if (this.text == null) this.text = "";
    this.text = this.text + cmd + "<br>";
    outputID.innerHTML = this.text;
}
document.onkeydown = function(evt) {
    if (this.text == null) this.text = ""; 
    var keyChar = String.fromCharCode(evt.keyCode);
    this.text = this.text + keyChar;
    if (evt.keyCode == 13) {
        processCommand(this.text);
        this.text = "";
    }
    input.innerHTML = this.text;
   };
 </script>
 <span id="outputID"/><br>
<hr>
<span id="input"/>