2009-09-18 9 views
1
<form action="page.php" method="post"> 
    <input type="text" name="some_text" /> 
    <input type="submit" name="some_submit"/
</form> 

정의 된 키보드 버튼을 눌러이 양식을 제출하고 싶습니다. 나는 그것을하는 방법을 궁금해. 그냥 <a> 요소라면 간단 할 것입니다. keypress 이벤트를 처리 한 후 window.location 값을 변경합니다. 하지만 전송할 데이터가 있으며이를 해결하는 방법을 모릅니다.키보드 버튼을 클릭하여 웹 양식을 제출하려면 어떻게해야합니까?

답변

2

데이터는

1

키를 눌러 이벤트를 처리 한 후 형태

<form name="myform" action="page.php" method="post"> 

에 이름을 지정 form.submit()의 결과로 자동으로 전달됩니다

document.myform.submit() 

을하는 기본적으로 양식을 제출합니다. 더 많은 매개 변수를 추가하려면 양식 안에 숨겨진 요소를 추가하십시오.

+0

제발 그렇게하지 마십시오. 표준적인 방법은'document.forms.myform'입니다. – kangax

0

키 누름 처리의 예는 http://dev.kanngard.net/Permalinks/ID_20050426091851.html을 참조하십시오. 키 13 (Enter)을 누른 경우 양식을 제출하지만 다른 키로 수정할 수 있습니다.

일반적으로 KeyDown 이벤트에서 호출 할 함수를 함수 내부에 등록하고 어떤 키가 눌려 졌는지 확인합니다. 필요한 경우 양식을 제출하십시오().

2

키 누르기 이벤트에 대한 이벤트 처리기를 만든 다음 submit() 메서드를 사용하여 양식을 제출하여 모든 양식 데이터를받는 사람 페이지 "page.php"로 전달할 수 있습니다. jQuery를 사용

,이 간단하다 : 키보드 이벤트를 해석에 대한 자세한 내용은

<form id="myForm" action="page.php" method="post"> 
    <input type="text" name="some_text" /> 
    <input type="submit" name="some_submit" /> 
</form> 

<script type="text/javascript"> 

    $('#myForm").keyDown(function(e){ 

     if(e.which == 13) // When key pressed is "Enter" key. 
      $('#myForm').submit(); 

    }); 

</script> 

읽기 Javascript Madness: Keyboard Events.

0

나는 문제가있어 :

변수 '버튼'버튼의 클래스 이름과 #form가
function action(button) { 
if ($('a.'+button+':visible').length > 0) { 
    if ($('a.'+button+':visible').attr('class') == button || $('a.'+button+':visible').attr('class') == 'rotate '+button) { 
     var adr = $('a.'+button+':visible').attr('href'); 
     window.location = adr; 
    } 
    if ($('a.'+button+':visible').attr('class') != button) { 
     $('a.'+button+':visible').click(); 
    } 
} 
    if ($('input.'+button+':visible').length > 0) { 
     $('#form').submit(); 
    } 
} 

양식의 ID입니다. 제출을 클릭하면 정상적으로 작동하지만 키보드 이벤트는 작동하지 않습니다.

관련 문제