gpt4 book ai didi

javascript - 在 iframe 中访问 jqgrid

转载 作者:行者123 更新时间:2023-11-30 05:55:06 24 4
gpt4 key购买 nike

我有一个包含 iframe 和按钮的 jsp。 iframe 包含一个 jqgrid。当按下按钮时,我需要提醒该 iframe 中 jqgrid 的记录数。

我试过了

var grid = jQuery("#myFrame").contents().find("#myGrid");
var count = grid.jqGrid('getGridParam', 'reccount');
alert(count); //alerts undefined

如何从 iframe 访问 jqgrid?

更新:

HTML 片段

    <body>
<iframe
frameborder="0" name="myFrame" id="myFrame" width="100%"
height="290px" scrolling="no"
src="myFrameContent.jsp">
</iframe>
<form action="frameAction" method="post" target="myFrame">
<button>refresh table</button>
</form>
</body>

当按下按钮时,将提交表单,然后 iframe 将重新加载 json 字符串(响应)作为 jqgrid 的数据。根据 Olga 的回答,我尝试放置

$(function(){
$("#myFrame").load(function(){
var grid = $("#myFrame").contents().find("#myGrid");
var count = grid.jqGrid('getGridParam', 'reccount');
alert("count=" + count);
});
});

在父jsp中,它仍然提示undefined。我错过了什么?

最佳答案

可能您在访问 iframe 内容时遇到同源问题。看herehere .

已更新:问题可能是您尝试访问 iframe 的内容 before 它将被加载。

关于 the demo哪个有效

$(function () {
$("#myFrame").load(function() {
var $grid = $(this).contents().find("#list"),
count = $grid.jqGrid('getGridParam', 'reccount');

alert("count=" + count);
});
});

(我使用 #list 而不是 #myGrid,因为我加载的 iframe 中有另一个网格 ID)我使用 jQuery.load确保我仅在加载 iframe 之后从 iframe 访问网格。对应的 HTML 如下:

<body>
<iframe id="myFrame" src="textareaedit.htm"></iframe>
</body>

关于javascript - 在 iframe 中访问 jqgrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com