关于frameset与jquery弹出层的问题
<frameset id="fsMain" framespacing="0" border="0" rows="60,*" frameborder="0"> <frame name="top" scrolling="no" noresize src="top.jsp"> <frameset id="fsContent0" cols="160,*" border="0"> <frame name="menu" target="main" src="menu.jsp" scrolling="auto" > <frame name="mainContent" id="mainContent" src="welcomePage.jsp" scrolling="auto" > </frameset> </frameset>
上面是我的frameset代码,在welcomePage.jsp中使用jquery的$.dialog做了一个添加数据的弹出层,提交数据后返回结果覆盖了整个frameset,我要的效果是返回只刷新frame的mainContent这块内容,是哪里出问题,求高手解决下...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(22)
嗯呢,就是这个问题,别用Ajax提交了,用拼接url字符串。
然后把url跟参数拼接起来,给mainContent这个frame的src赋值上请求服务器就行了。
返回内容就直接显示在mainContent这个frame里面了。
还有,参数中如果有中文的,GET方法处理起来也比较麻烦
我这个添加页面有10多个参数,只能拼URL这一种方法吗?
回复
修改后就没有报JS错了
回复
我把dataType类型已经修改成text了
回复
报错就会影响,下面的操作的。还有我看你dataType的类型是script,得改成json吧
回复
嗯,但窗口显示问题与这个应该没关系吧?问题还是存在..
回复
js把上传成功当变量处理了
parent.location.href = encodeURI("rebalancer!getList.do"); 和location.href = encodeURI("rebalancer!getList.do");都不行
我在弹出框中怎么执行$('#mainContent').attr('src',url)这个?
http://api.jqueryui.com/dialog/
是支持回调函数的,你要改变mainContent的src写在回调函数里就行了。
用的是lhgdialog.min.js?skin=discuz插件
回复
看看你修改数据后是怎么设置的? 这个是弹出框不会影响的。主要就是你弹出框的确认按钮事件,应该把url复制给$('#mainContent').attr('src',url);
指定target="mainContent",就会只刷新局部frame内容了。
target要指定要刷新的frame
具体参考:http://www.w3school.com.cn/tags/att_a_target.asp
指定只刷新局部frame内容
<a href="javascript:winopen('crtRbl','添加调仓策略','rebalancer!create.do',435);" target="mainContent"> 我在A标签中已经加了target,可是就是不跳到targer指定的frame里
回复
你先把href="javascript"去掉,href里面先写上一个固定地址,比如href="http://www.baidu.com",如果可以,那就是javascript:winopen的问题。
回复
好的,我试试
回复
我用的是lhgdialog.min.js?skin=discuz插件,这插件里面的弹出层函数$.dialog()
回复
这个肯定得有回调函数吧,用户点击确认什么的,你应该直接修改mainContent的url就行了。
指定target="mainContent",就会只刷新局部frame内容了。
target要指定要刷新的frame
具体参考:http://www.w3school.com.cn/tags/att_a_target.asp