2011-09-19 43 views
1

我試圖提交一個對話框的形式,當用戶按下輸入。我有如下的形式設置:通話按鈕功能輸入

$("#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函數被調用的初始化和頁面,而無需用戶做任何發送。在按鈕對象中使用命名函數的方式是什麼?

回答

3

由於submitBand(或「函數調用」構造)後面的括號表示「執行此函數對象並返回結果」,因此您將執行submitBand的結果分配給「保存」鍵。嘗試傳遞函數對象沒有函數調用構造:

"Save" : submitBand, 
0

你應該這樣做:

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

和thenn傳遞一個參考功能按鈕:

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

     } 
    });