2009-01-25 40 views
11

Tôi đang cố truy cập biểu mẫu và các thành phần của biểu mẫu. Biểu mẫu nằm trong iframe và mã javascript đang truy cập biểu mẫu nằm trong tài liệu chính.truy cập biểu mẫu trong iframe

Tôi không chắc chắn những gì khác tôi nên đưa vào câu hỏi, vì vậy xin vui lòng cho tôi biết nếu tôi cần phải thêm cái gì khác.

(hình thức và trang chính là trong lĩnh vực giống nhau)

Cảm ơn

Trả lời

14
var ifr = document.getElementById(yourIframeId); 
var ifrDoc = ifr.contentDocument || ifr.contentWindow.document; 
var theForm = ifrDoc.getElementById(yourFormId); 

Hoặc bạn có thể có một số mã trong khung đó đặt ra một biến trong parent mẫu, nhưng tôi wouldn' t tin tưởng phương pháp đó.

+1

Uncaught DOMException: Không đọc được nội dung 'contentDocument' từ 'HTMLIFrameElement': Bị chặn khung có nguồn gốc, không hoạt động cho hai miền khác nhau. –

+0

bạn có gợi ý nào để thực hiện công việc này cho các miền chéo không? –

3

Nếu iframe của bạn có thuộc tính name, có thể được sử dụng làm tên cửa sổ. Nếu tên khung là "myframe":

myframe.document.getElementById("myform") // gives you the form element 
+0

Bạn cũng có thể sử dụng ID khung để lấy phần tử theo ID, giống như bạn đã làm với việc nhận biểu mẫu theo ID từ khung. Tất nhiên, biểu mẫu cũng phải có một ID. – Eddie

Các vấn đề liên quan