2011-08-18 67 views
0

我試圖在用戶單擊「完成」分享點調查後指示。但是,當用戶點擊「回覆此調查」時,將執行以下代碼。任何想法發生了什麼。調查後重定向到thankyou.aspx頁面

<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> 

回答

0

它更容易爲唯一的類名分配給按鈕,使用document.getElementsByClassName比它遍歷所有的投入,以獲得正確的。

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

看來SharePoint不使用類輸入按鈕。見下面:

+0

SharePoint - argh!多麼痛苦。 –

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,無論是否是一條線。

+0

單擊完成按鈕後沒有任何反應。 –

+0

下面是一個工作示例:http://jsfiddle.net/uLzvt/ – Joe

+0

其實,我現在需要空間,所以現在我可以重定向。但它會在SharePoint的新窗口中重定向到當前窗口(或選項卡)中打開。 if(inputcCtrls [m] .type =='button'&& inputcCtrls [m] .value =='Finish') –

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/"; 
}