当点击图片时,也会通过登录表单链接到登录页面,我想传递我的用户名。单击图像将用户重定向到登录页面,在用户名字段中自动放置通过URL传递的用户名,这样用户只需编写密码并点击按钮即可登录。
我想的可能是这样的:
<script language="javascript" type="text/javascript">
var scrt_var = {{contact.username}}
</script>
<a href="https://{{contact.image_bank_url}}" onclick="location.href=this.href+'?key='+scrt_var;return false;"><img src="http://image.png"></a>
这是登录表单中的用户名字段:
<input id="id_username" name="username" type="text">
还有其他办法吗?
答案 0 :(得分:1)
您可以将用户名设置为参数:例如?username={{contact.username}}
<a href="https://{{contact.image_bank_url}}" onclick="location.href=this.href+'?username='+scrt_var;return false;">
<img src="http://image.png">
</a>
然后在登录页面上阅读(功能取自 How can I get query string values in JavaScript?
document.getElementById("id_username").value = getParameterByName("username")
function getParameterByName(name) {
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(window.location.href);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
答案 1 :(得分:0)
我会亲自使用哈希。请参阅此问题以了解如何阅读哈希:
How can you check for a #hash in a URL using JavaScript?
您不必使用正则表达式。您不必进行任何复杂的链接。只需在登录页面的链接中添加#符号即可。 #填写您要用于填充字段的用户名。然后使用jQuery将哈希拉出并放入输入字段。
var username = window.location.hash;
$usernameInput.val(username);
编辑以获取进一步说明。
假设我在网站http://thisismysite.com#thisismyhash
上在javascript中,如果我输入
console.log(window.location.hash);
我的控制台将会读取
"thisismyhash"
我建议您使用此功能来携带您的用户名,从第1页开始,用户点击链接进入登录页面,再到第2页。到达第2页后,从has中提取用户名并将其放入在您的输入字段中。