2011-05-06 58 views
0

我有一個窗體顯示在一個模式框中,現在我想能夠在2個不同的頁面上使用相同的模態框,他們在這裏做了些微不同的事情。有沒有一種方法可以爲表單提交按鈕設置事件或其他功能,以設置它調用的JavaScript函數。jquery在窗體上設置一個事件函數

我想從javascript內做到這一點,而不改變我的表單代碼。

最好的辦法是做什麼? 我可以爲一個變量設置一個函數,並通過我的按鈕代碼調用它嗎?

即:

var buttonFunction; 
//Set the button function on load 

function MyButtonFuntion() { 
    buttonFunction(); 
} 

回答

1

,你可以做這樣的:

var buttonFunction; 
if(someCondition){ 
    buttonFunction = function(){ 
    alert("some action"); 
    }; 
}else{ 
    buttonFunction = function(){ 
    alert("other action"); 
    }; 
} 

function MyButtonFuntion() { 
    buttonFunction(); 
} 
+0

優秀的,認爲這是可能的,只是無法解決如何。 – dkarzon 2011-05-06 05:32:19

0

您可以宣告函數名的變量被叫做提交。以下代碼是一個示例。聲明函數調用窗體中的變量functionToCall將始終在這裏工作。

<script type="text/javascript"> 
    function callMyFunction(formName) { 
     var formObj = eval("document." + formName); 
     if(formObj != null) { 
      var functionToCall = eval(formObj.functionToCall.value); 
      if(functionToCall) { 
       functionToCall(); 
      } 
     } 
    } 
</script> 
<form method="post" name="form1"> 
    <input type="hidden" name="functionToCall" value="form1Function"/> 
    <input type="button" onclick="callMyFunction('form1')"/> 
</form> 
相關問題