HTML - 如何在按钮单击时刷新页面中的多个帧?

时间:2017-09-19 08:49:41

标签: html

我想知道这里有人可以帮我吗?我有一个包含多个框架的页面,其中一个框架 - frame_b,只是一个HTML页面,上面有3个HTML表单,用于提供按钮。 - 通常这会继续使用从数据库内容生成的列表来填充其他帧。

但是,有人可以告诉我,如果点击其中一个按钮也可以重置frame_c,d,e&的内容。 f回到原来的frameset页面?请按下表格/按钮的动作吗?

以下是frame_c的HTML代码页:



<html>
    <head>
        <title>Button Ribbon</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body style="background-color: forestgreen;">
        <table>
        <tr>
        <td>
        <form action="phplist1.php" target="frame_c">
        <input type="submit" value="Clients" />
        </form>   
        </td>
        <td>
        <form action="phplist2.php" target="frame_c">
        <input type="submit" value="Horses" />
        </form>   
        </td>
        <td>
        <form action="employees.html" target="frame_c">
        <input type="submit" value="Employees" />
        </form>
        </td>
        </tr>
        </table>
    </body>
</html>
&#13;
&#13;
&#13;

以下是框架集代码:

&#13;
&#13;
<html>
    <head>
        <title>Frameset</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
        <frameset rows="20%,5%,5%,*">
        <frame src="FrameHeader.html" name="frame_a" frameborder="0" scrolling="no">
        <frame src="buttonribbon.html" name="frame_b" frameborder="0">
        <frameset cols="*,*">
            <frame src="blankgreen.html" name="frame_c" frameborder="0">    
            <frame src="blankgreen.html" name="frame_d" frameborder="0">
        </frameset>
        <frameset cols="60%,40%">
            <frame src="blank.html" name="frame_e" frameborder="0">    
            <frame src="blank.html" name="frame_f" frameborder="0">
        </frameset>
</html>
&#13;
&#13;
&#13;

非常感谢, 格雷厄姆

.....随后我添加了以下内容:

&#13;
&#13;
<form action="phplist1.php" target="frame_c">
            <script type="application/javascript">
                "use strict";
                var list=['frame_c',
                    'frame_d',
                    'frame_e',
                    'frame_f',
                ];
    
            for(var i=0; i<list.length; i++){
            document.getElementByName(list[i])[0].contentWindow.location.reload();
            }
            </script>
        <input type="submit" value="Clients" />
&#13;
&#13;
&#13;

但它似乎没有正常工作。任何帮助表示赞赏。

非常感谢,

1 个答案:

答案 0 :(得分:0)

列出您的帧标识符:

"use strict";
var list=['frame_a',
    'frame_b',
    'frame_c',
    'frame_d',
    ];

然后遍历它们。在您的示例中,您没有ID,因此我将使用getElementsByName

for(var i=0; i<list.length; i++){
    document.getElementByName(list[i])[0].contentWindow.location.reload();
}

根据some comments contentWindow可能无法在Chrome上使用,因此您需要contentDocument代替。