gpt4 book ai didi

JavaScript 函数不存在

转载 作者:行者123 更新时间:2023-11-28 13:45:48 24 4
gpt4 key购买 nike

我有以下 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"] 不是函数

我做错了什么?为什么没有指定函数?我有范围问题吗?

感谢您的帮助。

最佳答案

而不是 [message.action]();使用window[message.action](); .

message.action是字符串“showErrors” - 它不是一个函数。可以获取全局函数showErrors来自窗口对象。

关于JavaScript 函数不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14500391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com