2014-10-05 47 views
0

我有一個jQuery的對話框,它加載表單並提交按鈕,它提交表單jQuery UI的 - 改變提交功能

dialog = $("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 440, 
     width: 420, 
     modal: true, 
     buttons: { 
      "Submit": function() { 
       $("#LogOnForm").submit(); 
      }, 
      "Cancel": function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 

假設#LogOnForm是簡單的形式與一些文本字段。

現在我已經決定它加載多種形式,在對話框中使用jQuery的標籤根據所選擇的選項卡中的適當形式應該叫

$("#tabs").bind("tabsselect", function (event, ui) { 
     switch (ui.index) { 
      case 0: 
       //Change the submit function 
       break; 

      case 1: 
       //Change the submit function 
       break; 
     } 

我的問題是如何根據變化的提交功能上選項卡選中?

我已經經歷了幾項工作,如suggested here

任何建議以優雅的方式來做到這一點?

+0

你不能只是解除綁定現有的提交事件和標籤更改添加新提交的事件? – Maffelu 2014-10-05 07:47:55

+0

我不能得到按鈕上的ID。是的,一種方法是在問題的鏈接中建議添加id和代碼,解除綁定。有沒有一種方法來獲取對話框的對象並更改事件? – asb 2014-10-05 07:52:44

回答

0

你可以試試這個..

var formid; 

$("#tabs").bind("tabsselect", function (event, ui) { 
    switch (ui.index) { 
     case 0: 
      formid = '#form1'; 
      break; 

     case 1: 
      //Change the submit function 
      break; 
    } 

$(formid).submit(); 
+0

是的,最終我在案例中使用了「selectedForm = $(」#LogOnForm「)」和「selectedForm = $(」#RegisterForm「)」。目前運行良好。 – asb 2014-10-06 00:55:15