Jquery 在表单上设置事件函数

Jquery set an event function on a form

本文关键字:事件 函数 设置 表单 Jquery      更新时间:2023-09-26

我有一个显示在模态框中的表单,现在我希望能够对 2 个不同的页面使用相同的模态框,它们做的事情略有不同。有没有办法为表单提交按钮设置一个事件或其他东西来设置它调用的 javascript 函数。

我想从javascript中执行此操作,而无需更改我的表单代码。

最好的

方法是什么?我可以将函数设置为变量并由我的按钮代码调用它吗?

即:

var buttonFunction;
//Set the button function on load
function MyButtonFuntion() {
    buttonFunction();
}

你可以这样做:

var buttonFunction;
if(someCondition){
  buttonFunction = function(){
     alert("some action");
  };
}else{
  buttonFunction = function(){
     alert("other action");
  };
}
function MyButtonFuntion() {
    buttonFunction();
}
您可以使用要在

提交时调用的函数名称声明一个变量。以下代码是一个示例。声明函数以在窗体内的变量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>