2013-07-16 38 views
3

我試圖根據下拉框的值動態地重定向頁面。 我得到了JavaScript中下拉框的值。取決於我想要重定向頁面的下拉值。頁面在JavaScript中設置window.location時不重定向

這是示例代碼:

<script type="text/javascript"> 
     function RedirectMe(){ 
      var chosanDept = document.getElementById("Dept"); 
      var str = chosanDept.options[chosanDept.selectedIndex].text; 
      if(str=='HR') 
       { 
        alert('Yes in IF' + str); 
        window.location = "http://www.google.com"; 
       } 
     } 
    </script> 

這裏 chosanDept是可變讓下拉框的值。但我不能重定向頁面使用各種功能,如 window.location,location.replace,location.href。 還有一個如果我的條件有效,我會收到警報'Yes in IF HR'

這裏出了什麼問題?

+0

你在控制檯中的任何錯誤? (Firefox或IE中的F12,Firefox中的Ctrl + Shift + K) – RichieHindle

+0

@RichieHindle,我在瀏覽器中沒有在控制檯中發現任何錯誤 –

+0

Hi Optimus,如果您在select元素上使用onChange事件 <選擇ID = 「部門」 的onChange = 「RedirectMe()」> \t

回答

9

嘗試增加return false;RedirectMe()函數結束

然後無論你調用的函數,請確保你把return那裏,就像onclick="return RedirectMe();"

+0

非常感謝,加入return false並且返回RedirectMe()可以正常工作,但是我沒有通過添加return來得到它的工作方式,因爲在獨立應用程序中只是爲了重定向,它在沒有return語句的情況下工作。 –

+1

@Optimus I相信這是因爲返回false會取消表單的提交,這就是你想要做的,停止提交你的表單並去別的地方。 –

+0

是的,它沒有提交表單與返回。所以有沒有其他方式實現這一點。表單提交和重定向在同一個 –