Jquery在表单上设置事件函数

时间:2011-05-06 05:08:25

标签: javascript jquery events

我有一个显示在模态框中的表单现在我希望能够为2个不同的页面使用相同的模态框,在这些页面中它们执行稍微不同的操作。有没有办法可以为表单提交按钮设置一个事件或什么来设置它调用的javascript函数。

我想在javascript中执行此操作而不更改我的表单代码。

这是最好的方法吗? 我可以将函数设置为变量并通过我的按钮代码调用它吗?

即:

var buttonFunction;
//Set the button function on load

function MyButtonFuntion() {
    buttonFunction();
}

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

function MyButtonFuntion() {
    buttonFunction();
}

答案 1 :(得分: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>