您好我正在尝试找出如何在单击按钮时触发JavaScript对象方法。部分JavaScript如下:
function TaxiShare() {
this.register = function () {
var username = get_name_value('name', 'user1');
$.post('http://website/users', {
USERNAME: username
}, function (data) {
var obj = $.parseJSON(data);
if (obj.status == "fail") {
alert('User ' + username + ' is already registered.');
} else {
alert('User ' + username + ' has been successfully registered.');
}
}
);
};
}
我习惯使用以下HTML:
<input type="button" value="Register" onClick="nameOfFunction">
我无法解决的是在onClick中放入什么来使函数this.register = function()触发。
任何人都可以提供帮助吗?
答案 0 :(得分:1)
您必须实例化该类并使用该对象
function TaxiShare() {
this.register = function () {
var username = get_name_value('name', 'user1');
$.post('http://website/users', {
USERNAME: username
}, function (data) {
var obj = $.parseJSON(data);
if (obj.status == "fail") {
alert('User ' + username + ' is already registered.');
} else {
alert('User ' + username + ' has been successfully registered.');
}
}
);
};
}
var taxiShare = new TaxiShare();
并在HTML中
<input type="button" value="Register" onClick="taxiShare.register()">
答案 1 :(得分:1)
你需要返回这个并分配使taxiShare实例全局 - 这是一个例子 - https://jsfiddle.net/b2qjymwh/3/
<input type="button" value="Register" onClick="taxiShare.register();">
function TaxiShare() {
this.register = function () {
$.get('https://jsonplaceholder.typicode.com/posts/1')
.then(function (data) {
console.log(data);
//alert(data);
});
}
return this;
}
taxiShare = new TaxiShare();