gpt4 book ai didi

jquery - 使用 jQuery 从 iFrame 中的元素获取值

转载 作者:行者123 更新时间:2023-12-01 04:54:41 25 4
gpt4 key购买 nike

我搜索了互联网,发现了很多与我想做的事情相关的答案,例如:
Javascript - Get element from within an iFrame
How can I access iframe elements with Javascript?
Access iframe elements in JavaScript

没有正确的结果。

我目前在 iFrame 中有一个测试框。我需要从父级获取文本框 onBlur() 的值。

我目前正在使用;

alert("before");
var iframe = document.getElementById('GeneralInformationPrivate.aspx');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;

//innerDoc.getElementById("imageLoc").hide();

alert("after");

对该行进行注释后,我会看到两个警报。如果没有对其进行注释,就不会那么远。
(我隐藏它只是为了测试 - 这不起作用)。

谁能给我指出正确的方向。

编辑加载的 iFrame HTML 如下所示:

<iframe id="GeneralInformationPrivate.aspx" class="iframetab" src="GeneralInformationPrivate.aspx"><!-- Controls Here --></iframe>

编辑 2 iFrame 的加载方式如下。 (在父级中)

<div style="float: right; width: 570px;">
<div id="tabs">
<ul style="">
<li><a class="tabref" href="#tabs-1" rel="GeneralInformationPrivate.aspx">General</a></li>
<li><a class="tabref" href="#tabs-2" rel="www.google.co.za">Friends</a></li>
<li><a class="tabref" href="#tabs-3" rel="">Challenges</a></li>
</ul>
<div id="tabs-1">
</div>

<div id="tabs-2">
</div>

<div id="tabs-3">
</div>
</div>
</div>

文档加载时(仍在父级中)

// ++ IFRAME TABS
var $tabs = $('#tabs').tabs(); //Set the tab

//Loads the initial tab
function getSelectedTabIndex() {
return $tabs.tabs('option', 'selected');
}
beginTab = $("#tabs ul li:eq(" + getSelectedTabIndex() + ")").find("a");

//Send the correct data to load
loadTabFrame($(beginTab).attr("href"), $(beginTab).attr("rel"));

// Does something everytime you click the tab
$("a.tabref").click(function () {
//event code
});

//Load the actual iFrame
function loadTabFrame(tab, url) {
if ($(tab).find("iframe").length == 0) {
var html = [];
html.push('<div class="tabIframeWrapper">');
html.push('<iframe id="'+ url +'" class="iframetab" src="' + url + '">Load Failed?</iframe>');
html.push('</div>');
$(tab).append(html.join(""));
//$(tab).find("iframe").height($(window).height() - 80); // Set the height of the iFrame (Currently using CSS - See controlStyle.css iFrame)
}
return false;
}

//Make sure its only loaded on click
$("a.tabref").click(function () {
loadTabFrame($(this).attr("href"), $(this).attr("rel"));
});
// -- IFRAME TABS

它将页面加载到 iFrame 中。

编辑3 iFrame 的内容(抱歉)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GeneralInformationPrivate.cs" Inherits="member.Default2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>General Information</title>
</head>
<body style="background: white">
<form id="form1" runat="server">
<div style="min-height: 100px; width: 100%; padding: 0px" id="divProInfo">
<table style="width: 100%">
<tr>
<td>
<div class="divRegInput" style="padding: 5px 0px 10px 15px">
<asp:Label ID="Label12" runat="server" Text="Image URL" Font-Bold="True"></asp:Label>
<asp:Label ID="Label13" runat="server" Text="make yourself look good" CssClass="styleLabelWatermarkWashout"></asp:Label>
<br />
<input id="imageLoc" class="styleTextBoxCenter Larger" />
</div>
</td>
</tr>
<tr>
<td>
<div class="divRegInput" style="padding: 5px 0px 10px 15px">
<asp:Label ID="Label6" runat="server" Text="Website URL" Font-Bold="True"></asp:Label>
<asp:Label ID="Label7" runat="server" Text="show others where you came from" CssClass="styleLabelWatermarkWashout"></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server" CssClass="styleTextBoxCenter Larger" />
<asp:Label ID="lblWebsiteTitle" runat="server" CssClass="styleLabelWatermark"></asp:Label>

</div>
</td>
</tr>
<%--<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="Button" CssClass="styleButtonGreenHolder" Height="43px" CausesValidation="False" OnClick="btnChangeChallenge_Click" Width="195px" />
</td>
</tr>--%>
</table>
</div>
</div>
</form>
</body>
</html>

最佳答案

线路

innerDoc.getElementById("imageLoc").hide();

...失败是因为 DOM 元素没有名为 hide 的函数。这是 jQuery 的事情。

您可以将元素包装在 jQuery 实例中:

$(innerDoc.getElementById("imageLoc")).hide();

关于jquery - 使用 jQuery 从 iFrame 中的元素获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382617/

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