перенаправление на страницу thankyou.aspx после опроса - PullRequest
0 голосов
/ 18 августа 2011

Я пытаюсь сразу после того, как пользователь нажимает «Готово» в опросе на sharepoint.Но следующий код выполняется, когда пользователь нажимает «Ответить на этот опрос».Любая идея, что происходит.

<script type="text/javascript">
function redirect()
{
  var inputcCtrls = document.getElementsByTagName("input");
  for(var m=0; m<inputcCtrls.length; m++) 
   if(inputcCtrls[m].type=='button'&&inputcCtrls[m].value=='Finish')
     var funcOnClick = inputcCtrls[m].onclick;
         inputcCtrls[m].onclick = window.location = "http://www.google.com/";
}
redirect();
</script>

Ответы [ 3 ]

2 голосов
/ 18 августа 2011

Я не знаю о javascript, но в c # блок кода

var funcOnClick = inputcCtrls[m].onclick;
inputcCtrls[m].onclick = window.location = "http://www.google.com/";

должно быть в скобках, так как оператор if применяется только к следующей строке кода, поэтому будет работать следующее

if(inputcCtrls[m].type=='button'&&inputcCtrls[m].value=='Finish')
{
     var funcOnClick = inputcCtrls[m].onclick;
         inputcCtrls[m].onclick = window.location = "http://www.google.com/";
}
1 голос
/ 18 августа 2011

Редактировать благодаря ответу Грэма.Измените:

for(var m=0; m<inputcCtrls.length; m++) 
   if(inputcCtrls[m].type=='button'&&inputcCtrls[m].value=='Finish')
     var funcOnClick = inputcCtrls[m].onclick;
         inputcCtrls[m].onclick = window.location = "http://www.google.com/";

на

for(var m=0; m<inputcCtrls.length; m++) {
   if(inputcCtrls[m].type=='button'&&inputcCtrls[m].value=='Finish') {
      var funcOnClick = inputcCtrls[m].onclick;

       inputcCtrls[m].onclick = function () { window.location = "http://www.google.com/" };
   }
}

onclick хочет функцию.Вот почему я всегда использую паратез независимо от того, линия это или нет.

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

Для кнопки проще назначить уникальное имя класса и использовать document.getElementsByClassName, чем для циклического перебора всех входов, чтобы получить правильный.

var inputcCtrls = document.getElementsByClassName("finalButton");
inputcCtrls[0].onclick = function() {
    window.location = "http://www.google.com/";
}
...