请问js或Jquery如何实现不刷新页面而改变超链接地址?

请问js或Jquery如何实现不刷新改变超链接地址

我想实现这样的效果:
当用户没有登录时,侧边栏只显示登录按钮;
用户登录成功后,则显示所有的(如添加产品,管理产品等)

或者是不登录的状态下,把按钮链接地址改成一个 alert("请先登录") 也可以。

登录页面是一个iframe。我不想刷新父框架,请问具体该如何实现呢?可以给出具体的方法吗?

谢谢!

你可以把除登陆之外的按钮隐藏,当登陆成功之后再显示,或者你直接把这些内容从你的callback种传回来,这两种都可以。追问

我的思路是这样的。
iframe登录后生成一个cookie。
然后父页面验证这个cookie是否存在,如果存在则显示其他的。

伪js代码:
if (cookie == ""){
document.write(" 首页,添加产品,管理产品,退出");
}
else
document.write(" 首页,添加产品,管理产品,退出");

可是我现在不明白,当cookie保存成功后,该给父窗体一个什么事件让他执行这个function.....

追答

你的登录不是在父页面进行的吗?登录成功之后直接判断就可以了呀。

追问

不是呀,登录页面是一个iframe。

追答

那就按照楼下讲的方式,将你的代码放入ajax call的success中。
就是你去call了一遍service然后根据返回的数据显示你要显示的内容。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-07
这个 首先你可以在父框架加一段js setInterval() 每隔1S执行一次判断用户是否登录的代码
其次就是要在登录页面改动下。。要在登录页面要做的就是 把登录成功以后的信息传到父框架 你可以用Session担任这个任务。。最后剩下的就是一些判断显示按钮的事件啦。。
如果不懂或者看不懂可以追问哈!!!(你后台用什么语言写的?)
第2个回答  2012-11-05
jquery异步请求。追问

我的思路是这样的。
iframe登录后生成一个cookie。
然后父页面验证这个cookie是否存在,如果存在则显示其他的。

伪js代码:
if (cookie == ""){
document.write(" 首页,添加产品,管理产品,退出");
}
else
document.write(" 首页,添加产品,管理产品,退出");

可是我现在不明白,当cookie保存成功后,该给父窗体一个什么事件让他执行这个function.....

追答

jquery的异步请求,传请求信息过去,信息正确。返回一个信息回来,成功。
不正确,返回一个信息回来,失败。
异步请求不会刷新页面的。

追问

大哥我的js水平不是很高,请问能不能给出关键代码或详细代码?

追答

$(function(){
$.ajax({
url:'test.action',//请求后台路径的url
data:{传递到后台的参数},//传到后台的参数
dataType:'json',//返回的格式,有json、xml、jsonp等等
success:function(data){
alert("这个data就是你返回的数据了,最后怎么处理就看你自己的了。");

}

});

});

这个你应该看的懂吧。

第3个回答  2012-11-05
用jquery 请求 信息追问

我的思路是这样的。
iframe登录后生成一个cookie。
然后父页面验证这个cookie是否存在,如果存在则显示其他的。

伪js代码:
if (cookie == ""){
document.write(" 首页,添加产品,管理产品,退出");
}
else
document.write(" 首页,添加产品,管理产品,退出");

可是我现在不明白,当cookie保存成功后,该给父窗体一个什么事件让他执行这个function.....

相似回答