1

我需要这个网站上专家的一些帮助。

我想要完成的是,单击按钮即可复制现有表(“数据”),打开一个新的弹出窗口并使用 document.write 将前一页的表写入新表。

<!DOCTYPE html>
<html>

    <head>
        <meta http-equiv="Content-Language" content="en-ca">
    </head>

    <body>
        <table id="data" border="1" cellspacing="1" width="100" id="table1">
            <tr>
                <th>Fruits</th>
                <th>Vegetables</th>
                <th>Colors</th>
                <th>Quantity</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Apples</td>
                <td>Carrots</td>
                <td>red</td>
                <td>10</td>
                <td>0.99</td>
            </tr>
            <tr>
                <td>Pears</td>
                <td>Celery</td>
                <td>blue</td>
                <td>24</td>
                <td>1.00</td>
            </tr>
            <tr>
                <td>Mangos</td>
                <td>Broccoli</td>
                <td>green</td>
                <td>12</td>
                <td>1.50</td>
            </tr>
            <tr>
                <td>Oranges</td>
                <td>Cauliflower</td>
                <td>purple</td>
                <td>48</td>
                <td>1.25</td>
            </tr>
        </table>
        <br>
        <input type="button" value="test it" />
    </body>

</html>
4

2 回答 2

0

首先为您的按钮添加 onclick 功能:

  <input type="button" value="test it" onclick="openWin()" />

在脚本中:

函数 openWin() {

myWindow=window.open('','','width=200,height=100'); myWindow.document.write(document.getElementById('data').outerHTML);

myWindow.focus();

}

就是这样。

我不确定跨浏览器的 outerHTML 属性兼容性。请检查一次。

于 2013-08-27T14:05:44.957 回答
0

是一个工作示例。

该按钮需要一个点击处理程序:

<input type="button" value="Open popup" onclick="openPopup();" />

点击处理函数:

function openPopup() {
  var popup = window.open("", "", "width=640,height=480,resizeable,scrollbars"),
      table = document.getElementById("data");

  popup.document.write(table.outerHTML);
  popup.document.close();
  if (window.focus) 
    popup.focus();
}
于 2013-08-27T14:10:18.217 回答