需求:用户要在操作界面输入信息,信息包括文字,图片等。在输入信息的时候,要求随时可以预览已经输入的信息(打开一个新窗口)。
目前我的做法是点预览按钮,调用一个JS函数,函数如下:function view()
{
        var content = document.getElementById("txtContent").value;
        content = escape(content);
        //alert(content);
        var url = "InfoView.aspx?content="+content;
        var win=window.open(url);
}
当数据比较少的时候还没问题,数据一多就提示出错:无效指针。
为什么会出现这种情况?应该怎么解决?或者有没有更好的方法实现随时预览的功能?大家指点!

解决方案 »

  1.   

    建议你通过一个页面实现,
    <script>
    //显示窗体
    function show(n)
    {
    document.getElementById("AdLayer").innerText=n;
    document.getElementById("AdLayer").style.backgroundColor="transparent";
    //获取鼠标的x轴坐标
    x=event.clientX+document.body.scrollLeft;
    //获取鼠标的y轴坐标
    y=event.clientY+document.body.scrollTop;
    //显示弹出窗体
    AdLayer.style.display="block";
    //设置窗体的x、y轴的坐标
    AdLayer.style.left=x;
    AdLayer.style.top=y;
    }
    //隐藏窗体
    function Hide()
    {
    //隐藏窗体
    AdLayer.style.display="none";
    }
    </script>
    <div>
    <div id="AdLayer" style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; DISPLAY: none; FONT-SIZE: 9pt; FILTER: progid: DXImageTransform.Microsoft.Shadow(color=#999999,direction=135,strength=3); FLOAT: left; VERTICAL-ALIGN: sub; BORDER-LEFT: gray 1px solid; COLOR: red; BORDER-BOTTOM: gray 1px solid; POSITION: absolute; BACKGROUND-COLOR: #ffffff"></div>
    </div>利用这种方式显示你对应的相关信息。这样再多也没问题了
      

  2.   

    var win = window.open();
    win.document.body.innerHTML = "这里是你要显示的内容";