0
蔭創建一個js函數,將如下切換我的網頁正文的內容:爲什麼我在Jquery中遇到Uncaught ReferenceError?
var BodySwitcher = {
initBodySwitcher : function(){
var self = this;
$(document).on("click", ".bodySwitcher", function() {
var action = $(this).attr("id");
self.ajaxCall(action, null, $.proxy(self.showBody, this), $.proxy(self.initCall, this));
});
},
ajaxCall : function(action, data, callback, callback1){
$.ajax({
url: action,
type: "POST",
data: data,
error: function(){
alert('Please Contact your Administrator');
},
success: function(data){
callback(data);
},
complete: function (data){
callback1(data);
}
});
},
showBody : function(data){
var $container = $("#body_container");
$container.empty();
$container.html(data);
},
initCall: function(data){
var $container = $("#body_container");
var $table = $container.find(".table");
if ($table.length > 0){
initDataTable($table);
}
var $form = $container.find("form");
if ($form.length > 0){
initForm($form);
}
},
initDataTable : function($table){
if ($table.length > 0){
$("#"+$table.attr("id")).dataTable({
"sPaginationType": "full_numbers"
});
}
},
initForm: function($form){
alert("form");
var self = this;
$form.form.validate();
$formSubmit = $form.find(".button");
$(document).on("click", $formSubmit, function(){
var formData = $form.serialize();
var action = $form.attr("id");
alert(action);
self.ajaxCall(action, formData, $.proxy(self.showBody, this), $.proxy(self.initCall, this));
});
}
};
但是蔭遇到這個錯誤:
Uncaught ReferenceError: initForm is not defined
爲什麼呢?它是如何找到initDataTable而不是initForm的?
在這種情況下使用'this'而不是'BodySwitcher'會更好嗎? –
我不確定,我的Javascript OO foo有點微薄。看起來他只有一個'BodySwitcher'對象,他沒有定義類。 – Barmar