主页面上有一个Table和一个按钮,单击按钮后,弹出一个子页面,我现在用的javescript:window.open
子页面上有一些CheckBox和一个按钮,进行选择之后,按按钮确定,我现在是将用户的选择存入了Session。现在有三个问题:
1.点击主页面的按钮后,子页面弹出的同时主页面会刷新,能不让它刷新吗?
2.子页面点确定后,主页面要根据用户的选择在Table里动态创建一些TextBox,我现在用的window.parent.opener.location.reload();,但这样的话,主页面会整个刷新,我想要只刷新那个Table,如何才能做到?
3.关闭主页面,子页面不随之关闭。最重要的是第2个问题。可以不用javescript弹出,可以不用Session保存,就是想实现局部刷新。如何才能做到?

解决方案 »

  1.   

    window.parent.opener.控件.属性=值
      

  2.   

    1.按纽用input 不用服务器控件
    2.直接用js修改table.属性。
    3.用模态窗口。
      

  3.   

    如果Table所谓的刷新之后的值是直接从子页面获取的话,就可以用楼上的方法
    如果刷新是Table需要在服务器再重新获取数据的话,那就没办法做到了~~~
      

  4.   

    1.点击主页面的按钮后,子页面弹出的同时主页面会刷新,能不让它刷新吗?
    ----------------------
    不使用服务器控件,就使用HTML中的<input type="button".. onclick="windows.open(....
    2、子页面点确定后,主页面要根据用户的选择在Table里动态创建一些TextBox,我现
    ---------------------------------------------
    LZ试一下:使用window.showModalDialog                                  参数返回过程:
                                       var a=new Array();
    a[0] = 1;

    window.returnValue = a;
    window.close();
    return true;3、关闭主页面,子页面不随之关闭。
    -----------------
    要保证2有效情况下,这种要求很难同时实现,可以另外想办法
      

  5.   

    To cpp2017(慕白兄)
    2.直接用js修改table.属性。
    是说要在js端来动态创建控件吗?有这样的例子吗?To silentwins(原谅我当天不懂得珍惜只知任性...) 
    Table刷新之后的值从哪取都可以,我现在是从Session里取。是不是也可以在主页面上放个Hidden,在子页面存到主页面的Hidden里,然后再从Hidden取。
    子页面的确定按钮点了之后,是要关闭子页面的。
      

  6.   

    js修改table例如:var tb = document.getElementById("table1");
    var row = tb.insertRow(tb.rows.length);
    var cell = row.insertCell(0);
    cell.innerHTML = "<input type='input' ...........>";
      

  7.   

    还有没有别的办法?像PlaceHolder?ajax?js我不太会写。
    如果实在没有别的办法,也只能硬着头皮上了。
      

  8.   

    ajax只是不刷新,也要用js来更改table的属性的。
      

  9.   

    我现在js是这样写的:function CreateTable()
    {
    var obj = window.parent.opener;
    var tb = obj.document.getElementById("table1");
    var str = obj.document.getElementById("hidden1").value;
    var arr_str = str.split(';');
    for (var i = 1; i <= arr_strGeo.length; i++)
    {
    var row = tb.insertRow(tb.rows.length);
    var cell= row.insertCell(0);
    cell.innerHTML = "<span>" + arr_str[i] + "</span><input name='check" + i + "' type='text' id='check" + i + "' /><span>公里</span>";
    }
    }不知道对不对,那个obj倒不是null,但是也不知道是什么。
    另外,innerHTML设了以后,页面就自动局部刷新了吗?第3个问题再问一下,怎样让关闭主页面时,子页面也随之关闭?