2012-06-06 43 views

回答

2

使用您在留言(請您更新後)中提到的新的URL,你可以用JavaScript做這通過你自己的服務器重定向。

根據您的服務器端腳本語言,您可能必須以不同方式處理服務器部分。下面的例子是PHP:

客戶端HTML:

<form method="GET" action="dhl_redirect.php" id="myForm"> 
    <input type="hidden" name="id" value="" id='myId' placeholder="Enter tracking number" /> 
</form> 

客戶端的JavaScript:

(function(){ 
var form=myForm; 
form.addEventListener('submit',function(evt){ 
    var dhlUrl="https://dhlforyou.nl/login/track/"; 

    var id=document.getElementById('myId'); 
    if(/^\d+$/.test(id.value)){ 
    if(myForm.target==='_blank'){ 
    window.open(dhlUrl+id.value); 
    }else{ 
    location.href=dhlUrl+id.value; 
    }; 

    evt.preventDefault(); 


},false); 
})(); 

服務器:

<?php 
if(isset($_GET['id'])&&!is_nan(intval($_GET['id']))){ 
    $dhlId=$_GET['id']; 

    header('Location: https://dhlforyou.nl/login/track/'.dhlId);//Redirect to DHL 
    exit;//Skip the rest of the script 

}else{//ID not set or not a number 

    header('Location: myHTMLform.htm'); 
} 
?> 

如果要在新選項卡中打開此表單,只需將屬性target設置爲_blank即可。

+0

不要使用'is_nan(intval(...))',只需使用'empty(...)' –

2

是的,只是一個創建使用隱藏值和文本框:

<form method="GET" action="http://www.dhl.com/content/g0/en/express/tracking.shtml"> 
    <input type="hidden" name="brand" value="DHL" /> 
    <input type="text" name="AWB" size="{LengthOfTrackingNumber" /> 
</form> 
+0

很酷,謝謝!我不知道'action =「」'可能在外部網站上。 – Linkjuice57

+1

值得一提的是,此方法在當前窗口中打開DHL站點,而不是彈出窗口。 – flowfree

+0

是的,我剛纔在Google上搜索:p。雖然看起來沒有解決方案。啊,好,那麼什麼都不是。 – Linkjuice57