2011-05-23 31 views
1

我正在聯繫頁面上的客戶端可以輸入郵政編碼,這將帶他們到谷歌地圖的公司的方向,我遇到的問題是雖然超鏈接設置爲target_blank,但仍然會打開窗口,而不是在網站頁面前打開。我不知道爲什麼它會打開在手背和重點是在當前頁上,而不是將其移動到谷歌地圖頁面打開另一頁上的鏈接的問題

<a href="#" target="_blank"> 
       <img alt="" src="/images/contactUs/directionbtn.png" onclick="return openDirections(1);" /></a> 
<script type="text/javascript"> 

function openDirections(NumVal) { 

    if (NumVal == 1) { 

     if (document.getElementById("<%=txtPostcode.ClientID%>").value == "") { 
      alert("PostCode can not be blank"); 
      document.getElementById("<%=txtPostcode.ClientID%>").focus(); 
      return false; 
     } 
     else { 

      var regPostcode = /^([a-zA-Z]){1}([0-9][0-9]|[0-9]|[a-zA-Z][0-9][a-zA-Z]|[a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([ ])([0-9][a-zA-z][a-zA-z]){1}$/; 
      var tempURL = document.getElementById("<%=txtPostcode.ClientID%>").value; 
      if (regPostcode.test(tempURL) == false) { 
       alert("Please Enter a Valid PostCode"); 
       document.getElementById("<%=txtPostcode.ClientID%>").focus(); 
       return false; 
      } 
      else { 
       var url = 'http://maps.google.co.uk/maps?saddr={' + $('#<%=txtPostcode.ClientID%>').val() + '}&daddr=&daddr=646+Preston+Rd,+Clayton-le-Woods,+Chorley+PR6+7EH,+United+Kingdom&iwloc=1&dq=Tangent+Design'; 


       document.location = url; 
       return true; 
      } 
     } 
    } 
    </script> 
+0

什麼是「對倒手打開」呢?這對我來說就像JavaScript一樣! – 2011-05-23 15:44:04

+0

該頁面不會加載在網站前面,應該是 – 2011-05-23 15:45:05

回答

1

嘗試window.open(url);代替document.location = url;

+0

window.open(url);打開同一頁面兩次,而不是去谷歌地圖 – 2011-05-23 15:48:02

+0

然後你的功能可能會被調用兩次。您可以通過添加警報輕鬆檢查(「此彈出窗口應該只出現一次。」);在你的openDirections函數中。 – Fredrik 2011-05-23 16:00:44

+0

順便說一句,從哪裏openDirections叫? – Fredrik 2011-05-23 16:04:23

1

我看到你做的是設置當前窗口的URL的。也許嘗試使用這樣的東西來打開一個新窗口。

window.open('url to open',) 

代替document.location = url

+0

window.open(url);打開相同的頁面兩次,而不是去谷歌地圖 – 2011-05-23 15:48:16

+0

@Muhammad Awais如果它打開相同的頁面,說你可能會錯誤地設置網址。 – 2011-05-23 15:49:08

+0

我剛把它改成window.open(url); – 2011-05-23 15:50:47

1

每個瀏覽器可以被配置來處理頁面如何打開新的。查看您正在使用的瀏覽器中的首選項,並查看這是否是您當前配置的行爲。

+0

我對所有的瀏覽器檢查,結果是一樣的 – 2011-05-23 15:45:58

+0

它打開在一個標籤或一個單獨的窗口? – 2011-05-23 15:51:14

+0

它打開在一個標籤 – 2011-05-23 15:52:10

0

我認爲這是你在找什麼:

var x = window.open(URL, 'name', '...'); 
x.focus(); 
相關問題