Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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
如果字段等于,则按键(enter)上的Javascript函数_Javascript_Html - Fatal编程技术网

如果字段等于,则按键(enter)上的Javascript函数

如果字段等于,则按键(enter)上的Javascript函数,javascript,html,Javascript,Html,我需要使enter键根据特定字段中的值将用户带到不同的url。 这就是我目前所拥有的 document.onkeyup=按键; 功能键按下(e){ var key=(window.event)?event.keyCode:e.keyCode; 开关(钥匙){ 案例13: if(this.getField(“ls”).value==“x”){ 警报(“其x”) window.location=“ccamntdue.html” }else if(this.getField(“ls”).value=

我需要使enter键根据特定字段中的值将用户带到不同的url。
这就是我目前所拥有的

document.onkeyup=按键;
功能键按下(e){
var key=(window.event)?event.keyCode:e.keyCode;
开关(钥匙){
案例13:
if(this.getField(“ls”).value==“x”){
警报(“其x”)
window.location=“ccamntdue.html”
}else if(this.getField(“ls”).value=''){
警惕(“它不是”)
}否则{
}   
我可以删除参数并让enterkey返回一个警报进行测试,以验证它是否看到了enter键。问题似乎出在参数中。我包含了几个警报,以测试参数的任何部分是否正常工作,但似乎无法使其正常工作。我使用html/Javascript和我有点生疏。

我想让它验证字段是否为=“a”,然后将用户带到“a_url.html”,如果字段等于“b”,然后在按下enter键后将用户带到“b_url.html”等等。

下面是应该做的事情。假设您输入的id为
ls

代码的主要问题是,
文档
对象上没有
getField
方法(这就是这个在处理程序中指向的)。它的语法也是无效的,但这似乎不是你的问题。

我想你正在使用

尝试下面的方式…它将帮助你

<body onkeyup="KeyPressed(event)">

<script>
function KeyPressed(event)
{
switch(event.keyCode)
{
case 13:
    switch (getField("ls").value)
    {
     case "a":
     window.location.assign("https://www.google.com");
     break;
     case "b":
     window.location.assign("http://www.bing.com/");
     break;
     default:
     //Default Statement;
    }
break;
default:
//Default Statement;
}
}
</script>

功能键按下(事件)
{
开关(event.keyCode)
{
案例13:
开关(getField(“ls”).值)
{
案例“a”:
window.location.assign(“https://www.google.com");
打破
案例“b”:
window.location.assign(“http://www.bing.com/");
打破
违约:
//违约声明;
}
打破
违约:
//违约声明;
}
}

如果我记得的话,你必须使用window.location.href=“”correctly@TobSpr这是不正确的,将
location
location.href
设置为字符串执行完全相同的操作“您也可以将字符串分配给window.location。这意味着您可以像在大多数情况下是字符串一样使用window.location”这是什么。getField在做什么?在你的代码中的这一点看起来像是这个=窗口,因此你正在寻找窗口。getField!@Sam实际上,
这个
是本例中的
文档
对象,因为它是处理程序附加到的对象。但是我也从来没有听说过
getField
function@user2055269请发一些没有语法错误的代码。还有什么是
ls
?字段的名称?其id?您收到了什么错误消息?我尝试了此操作,得到的错误是:0x800a138f-Microsoft JScript运行时错误:无法获取属性“value”的值:对象为null或未定义。我已为字段指定了名称“ls”如下所示

@user2055269您查看了吗?您必须为您的字段分配一个id。
在我的回答“假设您输入的id为ls”中说得很对是的,很抱歉。我处于极度疲劳状态。我想我应该离开这里,清醒一下头脑,这样我可以集中注意力。我会尝试一下。@downvoter请解释downvoter,这样我可以改进答案
document.onkeyup = function ( e )  {
    var key = ( window.event ) ? event.keyCode : e.keyCode;
    if (key == 13) {
        var value = document.getElementById('ls').value;
        if (value === 'x') {
            window.location = "x.html";            
        } else {
            window.location = "a.html";
        }    
    }
};
<body onkeyup="KeyPressed(event)">

<script>
function KeyPressed(event)
{
switch(event.keyCode)
{
case 13:
    switch (getField("ls").value)
    {
     case "a":
     window.location.assign("https://www.google.com");
     break;
     case "b":
     window.location.assign("http://www.bing.com/");
     break;
     default:
     //Default Statement;
    }
break;
default:
//Default Statement;
}
}
</script>