3

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

 <script type="text/javascript">  document.onkeyup = KeyPressed;   
     function KeyPressed( e )  {    
         var key = ( window.event ) ? event.keyCode : e.keyCode;         
         switch( key )    {      
             case 13:        
                 if (this.getField("ls").value == 'x') {
                     alert ("its x")
                     window.location="ccamntdue.html"

                 } else if (this.getField("ls").value == ' ') {
                     alert ("its not")


                 } else {



                 }   

</script>

我可以删除参数并让 enterkey 返回一个警报以进行测试,以验证它是否看到了 enter 键。问题似乎在争论中。我已经包含了几个警报来测试论点的任何部分是否有效,但似乎无法让它发挥作用。自从我使用 html/Javascript 以来已经有好几年了,我有点生疏了。
我想让它验证字段 =“a”,然后如果字段等于“b”,则将用户带到“A_url.html”,然后在按下回车键后将用户带到“b_url.html”等。

4

2 回答 2

1

我认为您正在使用DynaForms 对象...

试试下面...它会帮助你...

<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>
于 2013-02-08T18:17:51.660 回答
-1

这是应该做的事情。假设您输入的 id 为ls http://jsfiddle.net/GZNYc/

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";
        }    
    }
};

您的代码的主要问题是对象上没有getField方法document(这是this您的处理程序中指向的内容)。它的语法也是无效的,但这似乎不是你的问题。

于 2013-02-08T18:01:56.647 回答