Javascript and Object
为何需要使用Object? 其实这个不仅仅是为了赶潮流,由于ajax的流行,javascript的代码也变得越来越多的,这样必然会找出定义变量名称的重复,为了让自己撰写的代码有自己的名称的空间,最方便就是把代码包装到Object对象中。
var ajax_json_form = {
onSubmit : function(formData, jqForm, options){ },
onSuccess: function (responseText, statusText){ },
processJson: function (data) {
$('.errField').removeClass('errField');
if (data.action == "success"){
$("#" + data.id).html(data.message).addClass("message");
$('#' + data.form_name).clearForm();
for (var next = 0 ; next < data.params.length ; next ++){
$("#" + data.params[next].id).html(data.params[next].value);
}
}
else {
var msg = "<ul>";
for (var next = 0 ; next < data.errors.length ; next ++){
msg = msg + "<li>" + data.errors[next].message + "</li>";
$("#" + data.errors[next].id).addClass("errField");
}
msg = msg + "</ul>";
}
}
}
这样写的代码其实有些类似其他语言中的Static函数,你不用初始化这个对象,因为它是静态对象,所以如需调用processJson,只需要使用ajax_json_form.processJson即可。
$(function() {
var options = {
beforeSubmit: ajax_json_form.onSubmit, // pre-submit callback
success: ajax_json_form.processJson, // post-submit callback
dataType: "json"
};
$('#ajax_form').ajaxForm(options);
});
以上的代码就可以实现对JQuery的Ajax_form的使用,同时相关的callback函数都封装到ajax_json_form对象中,所以你也不用担心processJson的名称会和其它函数冲突了