2009-07-02 29 views
7

Tôi đang cố gắng kết hợp hai dịch vụ web bằng cách chuyển giá trị từ một đến khác, tiếc là không có API hoặc cách rõ ràng để truy vấn tìm kiếm vì vậy tôi cần đặt giá trị của một đầu vào bên trong iframe.Đặt văn bản đầu vào bên trong khung nội tuyến và gửi

Đây là đánh dấu cho iframe khủng khiếp.

<form id="searchForm" method="post" action="/search/initialSearch">   
    <fieldset class="searchFields"> 
    <input type="text" name="searchTerm" value=""/> 
    <input type="submit" value="Find stops"/> 
    </fieldset> 
</form> 

Tôi cần đặt văn bản tìm kiếmTerm rồi gửi biểu mẫu.

Lưu ý: Điều này sẽ trên điện thoại di động, vì vậy tôi muốn một giải pháp thực sự nhẹ

Trả lời

6

Không phải là nó đơn giản như:

myframe.document.getElementById("searchForm").searchTerm.value = 'hello'; 
myframe.document.getElementById("searchForm").submit(); 

Hãy chắc chắn rằng kịch bản của bạn chạy SAU iframe là nạp vào. Thẻ iframe của bạn có sự kiện onload mà bạn có thể sử dụng để xác định thời điểm trang trong khung được tải.

<iframe src="formPage.html" onload="loaded()" name="myframe" /> 
+0

Cảm ơn, làm cách nào để đảm bảo rằng khung được tải? có loại sự kiện nào được kích hoạt không? – Tom

+0

Bạn có thể thêm tham chiếu hàm vào thuộc tính onload của khung nội tuyến: