我有一個包含所有常見元素(html/php,css,js)的頁面,並且通過ajax調用(使用表單)頁面。所有的工作都很好,我對此感到滿意......除了它沒有完成!ajax後觸發js
Ajax調用是:
$(".view_button").click(function(event) {
$("#reportframe").html("Loading...");
var geturl = $("#holder").attr("action");
$.ajax({
url: geturl,
type: 'get',
dataType: 'html',
async: false,
data: $('#holder').serialize()
})
.done(function(html) {
$("#reportframe").html(html);
alert("Loaded!");
});
});
.view_button
是表單的提交按鈕,0的形式ID和#reportframe
是DIV被加載到該頁面。設置geturl
的原因是因爲取決於表單中選擇的選項,它將更改表單的'action'屬性以獲取不同的頁面。
有兩件事情,我似乎無法解析:
第一次頁面通過AJAX的「警報」加載不顯示,最jQuery的元素不起作用。但是,第二次(以及後續)頁面通過ajax加載完成時會彈出'alert',並且有些jquery元素可以工作!
獲取所有jquery在加載頁面中工作!特別是有一個我們加載的工具稱爲'tooltipster' - 這顯然不會被加入,因爲控制檯說'tooltipster不是函數',即使js文件被調用並加載。
所有js/jquery代碼和文件都在加載頁面的末尾調用。
還有一件事 - 我似乎無法抓住data
來顯示它,即使它顯然在ajax中傳輸。有任何想法嗎?
任何見解非常感謝!
我想補充,被叫頁面完美的作品時,如裝一個單獨的頁面本身,所以我知道其中的一切實際工作。 –
'.view_button是表單的提交按鈕'這可能是你的問題。嘗試連接到'form'的'submit'事件,並調用'preventDefault()'來停止標準的表單提交。 –
@RoryMcCrossan我會盡力...我會嘗試任何事情!你認爲這會改變什麼嗎?因爲它提交併且按鈕是'submit'輸入類型。謝謝。 –