2011-05-26 31 views
0
$("form#update").submit(function() { 
    var formData = $("form#update").serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "graph.php", 
      data: formData + "&criteria=" + critSelected, 
      success: function(data){ 
       $('div.graph').fadeOut(function(){$('div.graph').html(data).fadeIn();}); 
      } 
     }); 
    return false; 
}); 

我有這個腳本,響應表單提交。 graph.php將會是一個完整的html頁面,我希望在不加載整個頁面的情況下顯示。有沒有什麼辦法讓我在同一頁面上將iframe的源代碼更改爲graph.php(說它在div'圖表內部)?我試過放置$('iframe')。attr('src',url);在成功功能上無濟於事。幫助表示讚賞。謝謝!使用php頁面更新iframe後阿賈克斯後

回答

2

您可以直接使用form.target =「框架名」 比結果將在iframe中加載全自動

例如

<form method="POST" target="framename">...</form> 
+0

是的,這很容易。我將如何創建表單標籤?我的目標是iframe,它用graph.php更新它,但它顯示它就好像$ _POST數據沒有通過。 – meburbo 2011-05-26 19:51:36

+0

@meburbo您是否刪除了AJAX? – Dormouse 2011-05-26 19:56:46

+0

Nm,語法錯誤。謝謝! – meburbo 2011-05-26 19:57:03

1

如果我看到你做了什麼設置爲iFrame正確地說它不工作的原因是因爲你試圖使用url作爲變量,它是ajax選項中屬性的名稱。如果您將代碼更改爲$("iframe").attr("src", "graph.php");它應該工作或設置或者設置url變量。

概念小提琴:http://jsfiddle.net/XcnMt/

+0

說實話,我認爲你要找的是zim32的答案。如果您希望表單頁面在您的頁面中完全加載,則不需要將AJAX內容發佈到iframe。 – Dormouse 2011-05-26 19:49:43

+0

是的,它更好。謝謝您的幫助。你有沒有看到我對他的回答的迴應?有什麼建議麼? – meburbo 2011-05-26 19:55:23