2011-04-29 5 views
0

좋아요, 텍스트 필드에 바코드가 스캔 될 텍스트 필드가 있습니다. 그것은 데이터베이스를 검색하고 제출 버튼의 형태로 정보를 반환합니다. 이 코드를 사용하여 제출 버튼을 클릭 시뮬레이션합니다.클릭을 시뮬레이션하여 jQuery에서 양식을 제출하십시오.

if($.browser.msie){ 
//simulate a click on the button 
    $("#search").keyup(function (e) { 
     if(e.keyCode == 13) { 
      $('input:submit').click(); 
     } 
    }); 
} 

이 코드의 문제점은 모든 키 입력을 취한 다음 여러 번 클릭하는 것입니다. 이 제출은 데이터베이스에 기록 된 데이터를 나타낼 것이므로 바코드가 abc123이면이 작업을 6 번 수행하지만 한 번만 수행하면됩니다. 이 문제를 어떻게 해결할 수 있습니까? 내 코드는 FF와 Chrome에서 작동하지만, IE에서는 작동하지 않습니다. Grrr은 IE가 너무 싫습니다!

+0

브라우저가 추가 자바 스크립트없이 기본적으로 입력시 양식을 제출해야합니까? –

+0

바코드 판독기가 입력 필드에 바코드를 입력 한 후 Enter 키를 누르면 자동으로 양식의 기본 전송 작업이 실행되지는 않습니까? – DarthJDG

+0

이것은 내가 생각한 것입니다.하지만 IE에서 어떤 이유로 작동하지 않습니다. 아마도 IE가 싫증이기는하지만 확실하지는 않습니다.) – Chris

답변

0

다음과 같은 코드를 얻기 위해 시도 :

var keyCode = (window.event) ? e.which : e.keyCode; 
+0

아니, 작동하지 않습니다. – Chris

1

왜 당신이 버튼을 제출하는 '클릭'해야합니까?

$("#search").blur(function(){ 
    document.myform.submit(); 
}); 

바코드 판독기로 처리 할 수 ​​있습니다.

+0

바코드 판독기가하는 일은 반 초 동안 모든 내용을 입력 한 다음 Enter 키를 누르는 것과 같으므로 IE에서 IE를 클릭하여 시뮬레이션해야한다는 것을 알았지 만 위의 방법은 작동하지 않습니다. – Chris

관련 문제