Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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_Javascript Events - Fatal编程技术网

在javascript中触发事件之前检查文本输入

在javascript中触发事件之前检查文本输入,javascript,javascript-events,Javascript,Javascript Events,基本上,我正在尝试创建一个基于文本的冒险游戏。我试图通过简单的onclick按钮在html的textarea中输出文本,但现在我正在尝试做一些新的事情。我在做同样的事情时遇到了麻烦,但是在输入文本时,用户可以在框中写入任何内容,然后单击按钮。现在,我正试图让这个程序在做一些事情之前,对照一些标志检查用户输入(在本例中,我将我的标志设置为“pizza”)。不幸的是,我的代码根本不起作用。我想我不完全理解javascript函数中输入是如何传递的 javascript部分 function reco

基本上,我正在尝试创建一个基于文本的冒险游戏。我试图通过简单的onclick按钮在html的textarea中输出文本,但现在我正在尝试做一些新的事情。我在做同样的事情时遇到了麻烦,但是在输入文本时,用户可以在框中写入任何内容,然后单击按钮。现在,我正试图让这个程序在做一些事情之前,对照一些标志检查用户输入(在本例中,我将我的标志设置为“pizza”)。不幸的是,我的代码根本不起作用。我想我不完全理解javascript函数中输入是如何传递的

javascript部分

function record(test) {
            var input = document.getElementById('filename');
            fileName = input.value;
            if (fileName == "pizza") {
            var obj=document.getElementById(test);
            obj.value="is this showing up in the textarea???"; 
            }
                        else {obj.value="wrong password!"; }

        }
html部分

<input name="filename" id="filename" type="text">

<a id="record_button" onclick="record('textarea1');" href="javascript:void(0);" title="Record">Perform Action</a>

<textarea wrap="virtual" cols="73" rows="10" id="textarea1"></textarea>

使用JS添加事件侦听器:

document.getElementById('record_button').onclick=function(){
    record('textarea1');
}
还有,你的函数有几个地方出了问题。下面是更正:

function record(test) {
    var input = document.getElementById('filename');
    fileName = input.value;
    var obj = document.getElementById(test);
    if (fileName == "pizza") {
        obj.value = "is this showing up in the textarea???";
    }
    else {
        obj.value = "wrong password!";
    }

}
  • 您在第二行使用了
    document.getElementByID
    ,这是不正确的大写形式
  • 您只是有条件地定义了
    obj
    ,因此else子句总是抛出异常

  • 下面是一个演示:

    使用JS添加事件侦听器:

    document.getElementById('record_button').onclick=function(){
        record('textarea1');
    }
    
    还有,你的函数有几个地方出了问题。下面是更正:

    function record(test) {
        var input = document.getElementById('filename');
        fileName = input.value;
        var obj = document.getElementById(test);
        if (fileName == "pizza") {
            obj.value = "is this showing up in the textarea???";
        }
        else {
            obj.value = "wrong password!";
        }
    
    }
    
  • 您在第二行使用了
    document.getElementByID
    ,这是不正确的大写形式
  • 您只是有条件地定义了
    obj
    ,因此else子句总是抛出异常

  • 下面是一个演示:

    问题是这个块与else语句一起出现,
    obj
    没有声明。因为您在上面的if语句中定义了
    obj
    ,所以它是该范围的专有项。只需在if块的正上方定义
    obj

    --


    问题在于else语句中的这个块,
    obj
    没有声明。因为您在上面的if语句中定义了
    obj
    ,所以它是该范围的专有项。只需在if块的正上方定义
    obj

    --


    也许这只是你文章中的一个输入错误,但是
    document.getElementByID('filename')
    应该是
    document.getElementById('filename')
    如果(fileName==pizza)
    您是否在函数外部声明了pizza,或者您是否正在尝试进行字符串比较?噢,我的意思是将pizza作为字符串。“比萨饼”。我想这可能就是问题所在。也许这只是你文章中的一个输入错误,但是
    document.getElementByID('filename')
    应该是
    document.getElementById('filename')
    如果(fileName==pizza)
    您是否在函数外部声明了pizza,或者您是否正在尝试进行字符串比较?噢,我的意思是将pizza作为字符串。“比萨饼”。我想这可能就是问题所在。谢谢!现在可以了!对不起,在你之前有人回答了这个问题=(谢谢!现在可以用了!对不起,这是别人在你之前回答的=(