Как я могу использовать обратный вызов в JavaScript - PullRequest
0 голосов
/ 24 августа 2011

Я добавляю следующий фрагмент javascript, но я не хочу испортить первоначальное намерение функции onclick (которая заключается в добавлении элемента в список sharepoint).

    <script type="text/javascript">
    element.removeEventListener('click',redirect(),false)
    function redirect()
    {
      var inputcCtrls = document.getElementsByTagName("input");
      for(m=0; m<inputcCtrls.length; m++){  
           if(inputcCtrls[m].type == 'button' && inputcCtrls[m].value == 'Finish'){        
                              window.parent.location = "http://intranet/surveys/Pages/ThankYou.aspx";  window.close();
}}}
    </script>

Ответы [ 2 ]

0 голосов
/ 24 августа 2011

Обновление: Ммч.Я забыл, что порядок выполнения обработчиков событий не гарантирован.Попробуйте это (redirect как показано ниже):

var inputcCtrls = document.getElementsByTagName("input"); 
for(m=0; m<inputcCtrls.length; m++){ 
    if(inputcCtrls[m].type == 'button' && inputcCtrls[m].value == 'Finish'){
        var input = inputcCtrls[m];
        var __orig_handler = input.onclick;
        input.onclick = function() {
            __orig_handler();
            redirect();
        };
        break;
    }
}

Хорошо, возможно, это то, что вы хотите:

function redirect() { 
    window.parent.location = "intranet/surveys/Pages/ThankYou.aspx";
}

var inputcCtrls = document.getElementsByTagName("input"); 
for(m=0; m<inputcCtrls.length; m++){ 
    if(inputcCtrls[m].type == 'button' && inputcCtrls[m].value == 'Finish'){
        inputcCtrls[m].addEventListener('click', redirect, false);
        break;
    }
}

Обратите внимание, что вы должны использовать attachEvent иonclick для IE.

0 голосов
/ 24 августа 2011

Насколько я понимаю, у вас есть одна кнопка, с которой вы хотите связать функцию funcOnClick с

.

Вы можете добавить к этой кнопке идентификатор с именем redirect , а затем сделать что-то вроде этого.

<script type="text/javascript">
 window.onload = function(){
     var button = document.getElementById('redirect');
     button.onclick = funcOnClick;
 }
</script>

<button id="redirect">Finish</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...