2011-03-12 2 views
0

텍스트 상자에서 돌아 왔을 때 다른 페이지로 리디렉션되는 작은 스크립트가 있습니다. IE, Chrome, Safari에서는 작동하지만 FireFox에서는 제대로 작동하지 않습니다. FireBug에서 Debugger를 연결하면 작동합니다.FireFox의 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 사람이 의대이 작동 크로스 브라우저를 얻을이 도움이 될 수 있습니다 : 여기

내 스크립트입니다? 미리 감사드립니다 !!

+0

이 나를 위해 잘 작동 호출 시도 할 수 있습니다. 입력에 연결된 다른 이벤트가 없습니까? – rdamborsky

+0

몇 개의 필드가 있습니까? 하나만 입력하면 단일 필드에서 Enter 키를 누를 때 양식이 제출되기 때문에 JS가 전혀 필요하지 않습니다. – mplungjan

+0

미안하지만 asp.net과 함께 사용하고 나서 텍스트 상자를 둘러싼 양식을 얻은 다음 그것은 "부서진다". 어떤 이상적인 이유가 있습니까? – PNR

답변

0

당신은 불을 지르고 함께 또는없이 ... preventDefault

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

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

      Send(); 
     } 
    } 
+0

도움이되었습니다! 매우 감사합니다 – PNR