我有一个多语言登录站点,我想使用 jQuery 将登录信息(用户和语言)存储在 cookie 中。该表单有 2 个锚标记和一些根据所选语言动态变化的标签。
<form id="frm0" method="post" action="">
<fieldset>
<div id="lng" style="text-align: right">
<a href="index.php?lang=en" id="en" title="English"><img src="pics/files/en.png" alt="English" /></a>
<a href="index.php?lang=de" id="de" title="Deutsch"><img src="pics/files/de.png" alt="Deutsch" /></a>
</div>
<div>
<label for="usr" style="font-weight: bold">User for en/Benutzer for de: </label>
<input name="usr" type="text" id="usr">
</div>
<div>
<label for="passw" style="font-weight: bold">Password for en/Kennwort for de: </label>
<input name="passw" type="password" id="passw">
</div>
</fieldset>
<input type="submit" name="sbmt" id="sbmt" value="Login">
</form>
以下代码:
$(document).ready(function(){
$('a').click(function(){
var language = $(this).attr("id");
$.cookie('lang', language, { path: '/', expires: 14 });
});
});
正确设置 cookie,但仅在单击锚标记后。如果我再次更改语言,则不会刷新 cookie 的值。但是,如果我添加“return false”:
$(document).ready(function(){
$('a').click(function(){
var language = $(this).attr("id");
$.cookie('lang', language, { path: '/', expires: 14 });
return false;
});
});
每次点击锚标记后,cookie的值都会正确设置,但页面上的标签不会根据所选语言而改变(就像页面没有刷新一样)。
我也尝试过:
$('#lng a').click(function() {
$.cookie('lang', this.id, { path: '/', expires: 14 });
return false;
});
但同样的行为。请问有什么帮助吗?谢谢你。