我有以下 Javascript 代码,它创建了一个具有点击事件的按钮元素。
function Button(id, url, blockMsg){
var id = id;
var url = url;
var blockMsg = blockMsg;
var message;
this.getId = function(){
return id;
};
this.getMessage = function(){
return message;
};
block = function(msg){
$.blockUI({
message: msg
});
};
unblock = function(){
$.unblockUI();
};
showErrors = function(){
console.log('errors');
}
$(id).bind('click', function(){
$.ajax({
url: url,
type: 'POST',
beforeSend: function(){
block(blockMsg);
},
error: function(response){
message = $.parseJSON(response);
message.action();
unblock();
console.log(action);
},
success: function(response){
message = $.parseJSON(response);
[message.action]();
unblock();
console.log(action);
}
});
});
};
$(document).ready(function(){
var buttonRegister = new Button('#btnCompanyRegister', '/company/register/', 'register ...');
});
当我单击按钮时,一切正常,我的 PHP 脚本返回
json_encode(array('action' => 'showErrors'));
在 FireBug 中我可以看到错误:["showErrors"] is not a function
我究竟做错了什么?为什么没有指定功能?我有范围问题吗?
感谢您的帮助。