2011-05-05 3 views
1

두 개의 제출 버튼 (다른 ID가있는 제출 버튼)이있는 양식이 하나 있습니다. 어떻게 내가 할 수있는,입력 키 누르기 및 두 개의 제출 버튼에서 양식 제출을 구분하는 방법

  1. 2

어떤 사람이 나를 인도 할 버튼 번호를 제출 버튼 # 1

  • 클릭을 제출
  • 클릭에 키 입력을 입력 난에 다른 작업을 수행 할 jQuery를 통해이를 달성하십시오. 당신이 원하는 모든 시나리오를 잡을 수 모두 clickkeypress 이벤트를 처리하여

    $(":input").bind("click keypress", function(evt) { 
        var keyCode = evt.which || evt.keyCode; 
        if (keyCode == 13) { 
         alert("ENTER pressed"); 
        } 
        else { 
         var sender = evt.target; 
         if (sender.type == "submit") 
          alert("Submit button " + sender.id + " clicked"); 
        } 
        return true; 
    }); 
    

    : 사전

  • +0

    당신이 먹고 싶어 할 어떤 행동, 어떤 코드가를 사용하여 당신이 코드를 통해 수동으로 양식을 제출해야합니다 알고 있어야 당신은 입력 키를 기반으로 사용자가 의도 한 바를 어떻게 알 수 있을까요? – mcgrailm

    답변

    2

    당신은 같은 코드를 사용할 수있는

    감사합니다.

    테스트 케이스 : http://jsfiddle.net/PChVY/

    참고 눌러 를 입력 또한 처음이 전역 플래그를 추가 할 수 있습니다 무시하는, 그래서 버튼을 click 이벤트를 제출 트리거합니다.

    2

    다음 (See Live Example) 할 수있는 :

    $(document).ready(function(){ 
        $("input[type='text'],input[type='password']").keypress(function(e){ 
         e.preventDefault(); 
         if (e.which == 13){ 
          alert("User pressed 'Enter' in a text input."); 
          // do your custom processing here 
         } 
        }); 
    
        $("input[type='submit']").click(function(e){ 
         e.preventDefault(); 
         var submitClicked = e.target.id; 
         alert("The submit button with id '"+submitClicked+"' was clicked!"); 
    
         //probably a switch statement here to do your custom processing based on which submit button was pressed. 
        }); 
    }); 
    

    (<textarea>에 원하는 효과를 키 입력을 입력 내가 것 무시 텍스트 또는 암호 입력에의 키 입력에 대한 의지 트랩 위의 코드 생각한다). 텍스트 또는 비밀번호 입력시 Enter 키를 누르면 첫 번째 제출 버튼 클릭이 트리거되지 않습니다.

    그냥 위의 $([your form selector]).submit();

    0
    $(function(){ 
        $("input").keypress(function(e){ 
         if (e.which == 13){ 
          e.preventDefault(); 
          alert("pressed 'Enter' preventDefault()<br>from Form #"+this.form.id); 
          // do your custom processing here 
         } 
        }); 
    }); 
    

    나를 위해 잘 작동

    관련 문제