2011-09-19 8 views
1

사용자가 Enter 키를 눌렀을 때 대화 상자 양식을 제출하려고합니다. 내가 변경 키 리스너를 추가 할 때통화 버튼이 작동 할 때 입력

$("#band-dialog-form").dialog({ 
     buttons : { 
      "Save" : function(){ 
         $(this).dialog("close"); 
      $("#editBandForm").submit(); 
          }, 
      Cancel : function() { 
       $(this).dialog("close"); 
      } 
     }, 
     close : function() { 

     } 
    }); 

:

   "Save" : function submitBand(){ 
          $(this).dialog("close"); 
       $("#editBandForm").submit(); 
           }, 

을하지만 내 키 리스너 함수 submitBand를 찾을 수 없습니다 나는 아래 양식 설정했다. 나는 시도하고 대화 상자에서 기능을 끌어와 그것을 만들 경우

"Save" : submitBand(), 

submitBand 기능이 초기에 호출되고 페이지가 아무것도 사용자없이 전송됩니다. buttons 객체에서 명명 된 함수를 사용하는 프로퍼티 방법은 무엇입니까?

답변

3

submitBand (또는 "함수 호출"구문) 다음에 괄호가 "이 함수 객체를 실행하고 결과를 반환합니다"라는 의미이므로 submitBand을 실행 한 결과를 "저장"키에 할당합니다.

var submitBand = function(){ 
      $("#band-dialog-form").dialog("close"); 
      $("#editBandForm").submit(); 
     }; 

와 버튼에 함수에 대한 참조 통과 thenn :

"Save" : submitBand, 
0

당신은 수행해야합니다없이 함수 객체 전달 함수 호출 구조를 시도

$("#band-dialog-form").dialog({ 
     buttons : { 
      "Save" :submitBand , 
      "Cancel" : function() { 
       $(this).dialog("close"); 
      } 
     }, 
     close : function() { 

     } 
    }); 
관련 문제