Jquery установить функцию события на форме - PullRequest
0 голосов
/ 06 мая 2011

У меня есть форма, которая отображается в модальном окне, теперь я хочу иметь возможность использовать один и тот же модальный блок для 2 разных страниц, где они делают немного разные вещи. Есть ли способ, которым я могу установить событие или что-то для кнопки отправки формы, чтобы установить, какую функцию javascript она вызывает.

Я хочу сделать это из javascript, не меняя код формы.

Какой лучший способ сделать это? Могу ли я установить функцию в переменную и вызвать ее по коду моей кнопки?

есть:

var buttonFunction;
//Set the button function on load

function MyButtonFuntion() {
    buttonFunction();
}

Ответы [ 2 ]

1 голос
/ 06 мая 2011

вы можете сделать это так:

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

function MyButtonFuntion() {
    buttonFunction();
}
0 голосов
/ 06 мая 2011

Вы можете объявить переменную с именем функции, которая будет вызываться при отправке.Следующий код является примером.Объявление функции для вызова в переменной 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...