2011-03-12 35 views
0

我有一個小腳本,當在文本框中按下回車鍵時,它將重定向到另一個頁面,它在IE,Chrome,Safari中工作正常,但在FireFox中不起作用。如果我在FireBug中調試調試器,它就可以工作。FireKey中的OnKeyDown和window.location存在問題

這裏是我的腳本:

<form name="form1" method="post" action="Default2.aspx" id="form1"> 

    <input id="ind" onkeydown="defaultButton(event)" /> 

    <script type="text/javascript"> 

     function defaultButton(event) { 
      if (event.keyCode == 13) { 
       event.returnValue = false; 
       event.cancel = true; 
       Send(); 
      } 
     } 

     function Send() { 
      var content = document.getElementById("ind").value; 

      if (content == null || content.length == 0) { 
       document.getElementById("ind").focus(); 
       return; 
      } else { 
       window.location = "http://www.google.com?name=" + content; 
      } 
     } 
    </script> 

是THRE有人有可以幫助MED得到這個工作的跨瀏覽器? 非常感謝!

+0

這工作得很好,我... Firebug的或沒有它。你有沒有其他事件綁定到輸入? – rdamborsky 2011-03-12 08:37:50

+0

你有幾個領域?如果只有一個,那麼你根本不需要JS,因爲當你按下單個字段中的輸入時,表單會提交 – mplungjan 2011-03-12 08:55:13

+0

對不起,但我將它與asp.net一起使用,然後我得到了一個表格,將文本框圈起來,然後它「打破」。任何理想爲什麼? – PNR 2011-03-12 09:21:11

回答

0

你可以嘗試調用preventDefault

function defaultButton(event) { 
     if (event.keyCode == 13) { 
      event.returnValue = false; 

      if (event.preventDefault) { 
       event.preventDefault(); 
      } 

      Send(); 
     } 
    } 
+0

這有幫助!非常感謝 – PNR 2011-03-12 09:29:54