关于frameset与jquery弹出层的问题

发布于 2021-11-17 07:17:39 字数 783 浏览 778 评论 22

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(22

柒夜笙歌凉 2021-11-21 03:37:58

嗯呢,就是这个问题,别用Ajax提交了,用拼接url字符串。

然后把url跟参数拼接起来,给mainContent这个frame的src赋值上请求服务器就行了。

返回内容就直接显示在mainContent这个frame里面了。

小瓶盖 2021-11-21 03:37:58

还有,参数中如果有中文的,GET方法处理起来也比较麻烦

清晨说ぺ晚安 2021-11-21 03:37:58

我这个添加页面有10多个参数,只能拼URL这一种方法吗?

尐偏执 2021-11-21 03:37:58
<script>
    $(document).ready(  
    function() {  
        var options = {  
            url : "rebalancer!create.do",//跳转到相应的Action  
            type : "POST",//提交方式  
            dataType : "script",//数据类型  
            success : function(msg) {//调用Action后返回过来的数据 
            if (msg.indexOf("成功") > -1) { 
    //parent.location.href = encodeURI("rebalancer!getList.do"); 
            //在这个里面给mainContent赋值src。
            //$('#mainContent').attr('src','rebalancer!getList.do');
            //这样试试。
    }else{ 
    alert(msg); 
    } 
            }  
        };  
        $("#addIblRebalancer").ajaxSubmit(options);//绑定页面中form表单的id  
        return false;  
     });  


</script>
囚你心 2021-11-21 03:37:58

回复
修改后就没有报JS错了

剑心龙吟 2021-11-21 03:37:58

回复
我把dataType类型已经修改成text了

凡尘雨 2021-11-21 03:37:58

回复
报错就会影响,下面的操作的。还有我看你dataType的类型是script,得改成json吧

屌丝范 2021-11-21 03:37:58

回复
嗯,但窗口显示问题与这个应该没关系吧?问题还是存在..

彩扇题诗 2021-11-21 03:37:58

回复
js把上传成功当变量处理了

反目相谮 2021-11-21 03:37:57

parent.location.href = encodeURI("rebalancer!getList.do"); 和location.href = encodeURI("rebalancer!getList.do");都不行

多情癖 2021-11-21 03:37:57

我在弹出框中怎么执行$('#mainContent').attr('src',url)这个?

蓝颜夕 2021-11-21 03:37:56

http://api.jqueryui.com/dialog/

是支持回调函数的,你要改变mainContent的src写在回调函数里就行了。

$( "#dialog" ).dialog({
  dialogClass: "no-close",
  buttons: [
    {
      text: "OK",
      click: function() {
        $( this ).dialog( "close" );
      }
    }
  ]
});

旧伤慢歌 2021-11-21 03:37:48

用的是lhgdialog.min.js?skin=discuz插件

陌上芳菲 2021-11-21 03:36:49

回复
看看你修改数据后是怎么设置的? 这个是弹出框不会影响的。主要就是你弹出框的确认按钮事件,应该把url复制给$('#mainContent').attr('src',url);

泛滥成性 2021-11-21 03:16:00

指定target="mainContent",就会只刷新局部frame内容了。

target要指定要刷新的frame

具体参考:http://www.w3school.com.cn/tags/att_a_target.asp

成熟的代价 2021-11-21 02:08:39

指定只刷新局部frame内容

别低头,皇冠会掉 2021-11-21 01:49:19

<a href="javascript:winopen('crtRbl','添加调仓策略','rebalancer!create.do',435);" target="mainContent"> 我在A标签中已经加了target,可是就是不跳到targer指定的frame里

平定天下 2021-11-21 01:28:59

回复
你先把href="javascript"去掉,href里面先写上一个固定地址,比如href="http://www.baidu.com",如果可以,那就是javascript:winopen的问题。

反目相谮 2021-11-20 18:51:23

回复
好的,我试试

北笙凉宸 2021-11-20 16:42:44

回复
我用的是lhgdialog.min.js?skin=discuz插件,这插件里面的弹出层函数$.dialog()

只为守护你 2021-11-19 19:56:05

回复
这个肯定得有回调函数吧,用户点击确认什么的,你应该直接修改mainContent的url就行了。

执手闯天涯 2021-11-19 14:04:45

指定target="mainContent",就会只刷新局部frame内容了。

target要指定要刷新的frame

具体参考:http://www.w3school.com.cn/tags/att_a_target.asp

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文