【发布时间】:2012-01-05 08:05:40
【问题描述】:
我正在编写一份时事通讯,而让我这样做的人想要一个链接......一切都完美没有问题......
现在的问题是,当您单击此链接时,它会进入一个包含字段的页面,并且那个人问我是否可以自动填写其中一个字段。
该页面是某些服务的订阅页面,当您使用他的电子邮件登陆该页面时,此人希望我自动填写推荐字段。有可能吗?
谢谢大家
【问题讨论】:
标签: html hyperlink newsletter
我正在编写一份时事通讯,而让我这样做的人想要一个链接......一切都完美没有问题......
现在的问题是,当您单击此链接时,它会进入一个包含字段的页面,并且那个人问我是否可以自动填写其中一个字段。
该页面是某些服务的订阅页面,当您使用他的电子邮件登陆该页面时,此人希望我自动填写推荐字段。有可能吗?
谢谢大家
【问题讨论】:
标签: html hyperlink newsletter
执行此操作的一种方法是将字段名称和值放在查询字符串中。 “查询字符串”是包含字段/值对的 URL 的一部分。它与页面地址由? 分隔,后跟由& 字符分隔的字段=值对。例如,
http://www.example.com
...会变成...
http://www.example.com?fieldName=fieldValue
为了使其工作,页面必须将字段解析为 HTTP GET 请求的一部分,然后将值作为预填充字段返回。如果表单在服务器端得到正确验证,那么它通常已经具有解析字段并在同一表单的多次提交中保留其值的能力。这是因为如果某些字段为空白或具有无效值,则这样做允许重新绘制页面并显示错误消息。
这很容易测试 - 只需在页面源中找到字段名称并扩展您当前使用的 URL,如上所示。如果它有效,你就完成了。如果没有,您可能需要更新服务器端的代码以接受该字段作为查询字符串的一部分。
完成同样事情的其他方法更多地依赖于服务器端代码。例如,许多网站在 URL 中嵌入了关联推荐 ID,例如:
http://www.example.com/123456/
在这种情况下,服务器端代码将目录路径解释为一个字段并相应地对其进行解析。因为这需要非常具体的服务器端代码来支持它,所以第一个选项可能是您最好的选择。
【讨论】:
遇到了这个问题,下面的 Javascript 代码解决了问题。
使用@T.Rob查询字符串参数。
HTML 代码:
<input type="text" name="fillfield" id="fillfield" style="width: 350px;" class="input" value=""/>
JAVASCRIPT 代码:
window.onload=function(){
function querySt(ji) {
hu = window.location.search.substring(1);
gy = hu.split("&");
for (i=0;i<gy.length;i++) {
ft = gy[i].split("=");
if (ft[0] == ji) {
return ft[1];
}
}
}
var fieldName = querySt("fieldName");
if( fieldName==null){
}else{
document.getElementById('fillfield').value = fieldName;
}
}
当您访问http://www.example.com?fieldName=fieldValue 时,它会自动将fieldValue 填写到fillfield 输入中。
【讨论】:
使用php
<?
$passthis = "See you on the other side";
echo '<form action="whereyouwantittogo.php" target="_blank" method="post">'.
'<input type="text" name="passthis1" value="'.
$passthis .' " /> '.
'<button type="Submit" value="Submit" >Submit</button>'.
'</form>';
?>
您要将信息传递到的页面脚本:
<?
$thispassed = $_POST['passthis1'];
echo '<textarea>'. $thispassed .'</textarea>';
echo $thispassed;
?>
在单独的页面上使用这两个代码,后者在 whereyouwantittogo.php 中,你应该在做生意。
【讨论】: