Tôi biết câu hỏi này là cũ, nhưng đây là cách tôi đã làm nó trên ASP.Net (C#) bằng cách sử dụng jQuery.
//Create the form in a jQuery object
$("<form action='/FormPostTo.aspx' method='post' target='nameofframe'></form>")
//Get the value from the asp textbox with the ID txtBox1 and POST it as b1
.append($("<input type='hidden' name='b1' />").attr('value',$('#<%= txtBox1.ClientID %>').val()))
//Get the value from the asp textbox with the ID txtBox2 and POST it as b2
.append($("<input type='hidden' name='b2' />").attr('value',$('#<%= txtBox2.ClientID %>').val()))
//Add the form to the body tag
.appendTo('body')
//Submit the form which posts the variables into the iframe
.submit()
//Remove the form from the DOM (so subsequent requests won't keep expanding the DOM)
.remove();
Chỉ cần một lưu ý nhanh chóng: Tôi đã làm các thẻ đầu vào như thế chứ không phải là concatenating chúng, trong trường hợp giá trị của textbox có báo giá ('
) trong đó. Nếu bạn nối nó vào, nó sẽ làm hỏng HTML và nó sẽ không phân tích cú pháp chính xác.
Ngoài ra, điều này sẽ xóa biểu mẫu khỏi DOM sau khi nó được sử dụng để bạn không điền DOM với các phần tử biểu mẫu nếu bạn đăng lên iFrame nhiều lần.
Một thay đổi nhỏ mà bạn có thể thực hiện, là tạo phần tử biểu mẫu nếu nó không tồn tại và sau đó chỉ tham chiếu nó bằng ID nếu nó đã tồn tại và sử dụng lại nó.
Nguồn
2012-02-29 16:26:14
tôi không thực sự quan tâm về ajax. Tất cả những gì tôi muốn là gửi một bài đăng đến một khung nội tuyến từ bên ngoài nó mà không cần người dùng phải nhấp vào nút gửi. Tôi không thể chuyển chúng vào khung nội tuyến bằng cách sử dụng src vì nó không phải là tham số chuỗi truy vấn mà nó muốn. Thẻ