DHL 让您可以在他们的网站上跟踪您的包裹,例如:http ://www.dhl.com/en/express/tracking.html 。现在,当您输入跟踪号时,它会打开一个新窗口,如下所示:http: //www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB= SOMENUMBER1234
现在我想在我的网站上模仿这种行为。我有一个表格,您可以在其中输入跟踪号,它会打开 DHL 网址。这可能吗?
DHL 让您可以在他们的网站上跟踪您的包裹,例如:http ://www.dhl.com/en/express/tracking.html 。现在,当您输入跟踪号时,它会打开一个新窗口,如下所示:http: //www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB= SOMENUMBER1234
现在我想在我的网站上模仿这种行为。我有一个表格,您可以在其中输入跟踪号,它会打开 DHL 网址。这可能吗?
是的,只需使用隐藏值和文本框创建一个:
<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>
使用您在评论中提到的新 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
.