2011-05-06 5 views
0

모달 상자에 표시된 양식이 있습니다. 이제는 약간 다른 작업을 수행하는 2 개의 다른 페이지에 동일한 모달 상자를 사용할 수 있기를 원합니다. 어떤 자바 스크립트 함수를 호출하도록 설정하기 위해 양식 제출 단추에 이벤트 또는 무언가를 설정할 수있는 방법이 있습니까?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

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> 
관련 문제