调查后重定向到thankyou.aspx页面

时间:2011-08-18 15:50:41

标签: javascript redirect

我试图在用户点击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 个答案:

答案 0 :(得分:2)

我不知道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 :(得分:1)

感谢格雷厄姆的回答。 变化:

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需要一个功能。这就是为什么我总是使用parathesis,无论它是否是一行。

答案 2 :(得分:0)

为按钮分配一个唯一的类名并使用document.getElementsByClassName比循环所有输入以获得正确的类更容易。

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