2011-07-18 35 views
18

Tôi phải gửi một số tham số đến IFRAME bằng phương thức POST. Tôi đã đọc ở đây Setting the HTTP request type of an <iframe> rằng điều đó là không thể. Tôi đang nghĩ một giải pháp trong Javascript nhưng tôi không thể thực hiện nó vì vậy tôi không thể kiểm tra nếu nó là một giải pháp hợp lệ cho vấn đề này. Tôi muốn hỏi xem ai đó có cùng vấn đề và nếu có thể giải quyết và trong trường hợp dương tính thì sao?Cách gửi tham số đến Iframe với yêu cầu HTTP POST

+0

Xem http://stackoverflow.com/questions/168455/how-do-you-post-to-an-iframe –

Trả lời

29
<form ... target="hidden_iframe"> 
... 
</form> 

<iframe name="hidden_iframe" ...></iframe> 
+0

chỉ cần thực hiện hình thức vô hình và iframe quá .. và sau đó làm một hình thức gửi qua js – walialu

16

Làm cách nào để sử dụng thuộc tính đích của biểu mẫu để trỏ tới iFrame?

<form target="myIframe" action="http://localhost/post.php" method="post"> 
    <input type="hidden" value="someval" /> 
    <input type="submit"> 
</form> 

<iFrame src="" name="myIframe"></iFrame> 
+0

chính xác những gì tôi trả lời 16 phút trước -.- – walialu

+1

Chỉ cần nhận thấy của bạn. Lên bầu chọn của bạn. – KishoreK

+0

Cách này giải quyết vấn đề với tất cả các trình duyệt ngoại trừ Internet Explorer 7. Bạn có đề xuất gì về nó không? – jRicca

8

Chỉ cần đưa ra một ví dụ cụ thể làm việc

<form id="loginForm" target="myFrame" action="https://localhost/j_spring_security_check" method="POST"> 
<input type="text" name="j_username" value="login" /> 
<input type="text" name="j_password" value="password" /> 
<input type="submit"> 
</form> 

<iframe name="myFrame" src="#"> 
    Your browser does not support inline frames. 
</iframe> 

// Hide the form and do the submit 
<script> 
$(document).ready(function(){ 
var loginform= document.getElementById("loginForm"); 
loginform.style.display = "none"; 
loginform.submit(); 
}); 
</script> 
Các vấn đề liên quan