2013-06-25 6 views
0

Это jsp находится внутри iframe, который генерируется динамически,JQuery - как получить текст DIV внутри фрейма

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 

<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> --> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/css/chat.css"> 
<title>Heart JSP page</title> 
</head> 
<body> 

    <div id="messageArea" class="divBorder"> 
    <% String intxnId = request.getParameter("intxnId"); %> 
    Chat Interaction id is : ?<%= intxnId%> 

    </div> 
    <div id="enterMessage" class="divBorder"> 
    Your message Area 
    </div> 
</body> 
</html> 

Мои iframe и его id генерируется dynamically.Inside в Iframe Я вставил выше JSP страницы.

Теперь мне нужно получить текстовое значение div с id=messageArea в jsp, используя jquery.

Я использовал,

var intxnId = `ch54p3443`; 

var sss = $("#ch"+intxnId).contents().find("#messageArea").text(); 
alert("sss : "+sss); 

$("#ch"+intxnId) будет мой селектор IFrame.

Но переменной не присвоено значение sss.

+0

это iframe в том же домене? ваша консоль javascript выдает предупреждение? – Alex

+0

http://stackoverflow.com/questions/4326152/how-to-get-text-from-a-div-in-an-iframe-with-jquery – Sergio

+0

@Alex Он не делает никаких ошибок. –

ответ

0

Вам необходимо сначала ссылаться на объект DOM страницы внутри вашего iframe. И ваша страница iframe должна быть из того же домена родительской страницы из-за ограничения кросс-домена.

Я настроил скрипку, чтобы показать, как получить доступ к элементам страницы IFrame:

http://jsfiddle.net/ts5Z7/

В основном с кодом, что означает что-то вроде:

var intxnId = `ch54p3443`; 
var frameRef = $("#ch"+intxnId)[0]; 
var frameDocument = frameRef.contentWindow ? frameRef.contentWindow.document :frameRef.contentDocument; 

var sss = $(frameDocument).find("#messageArea").text(); 
alert("sss : "+sss); 
+0

Спасибо за ваш ответ. Но не помогло! –

+0

Есть ли что-нибудь еще, что вам нужно? почему бы не помочь. Я хотел бы помочь. – DavidLin

Смежные вопросы