これが私のコードです
var addproduct = {
init:function(){
var footer = $("<div class='footer'></div>");
var confirmButton = $("<button class='dbtn'>confirm</button>").on('click',this.confirm);
var cancelButton = $("<button class='dbtn'>cancel</button>").on('click',this.cancel);
d.append(footer.append(confirmButton,cancelButton));
$('body').append(d)
},
getData:function(){
var data={};
d.find('#basic_info :input').each(function(){
data[$(this).attr('name')] = $(this).val()
});
console.log(data);
return data;
},
confirm:function(e){
console.log(e.data);
},
cancel:function(){
alert(2);
}
}
確認ボタンをクリックすると、「d」でフォームを送信したいので、「getData」関数を使用してすべてのフォームデータを取得します。
これが私がしたことです
var confirmButton = $("<button class='dbtn'>confirm</button>").on('click',this.getData,this.confirm);
//output: function()
だから私はハンドラーへのデータパスは関数として正しいことはできないと思いますか?
そして、このように確認機能を変更します
confirm:function(){
var data = this.getData()
console.log(data);
},
this will not work too , because the 'this' keyword is not the addproduct object,but the confirm button '<button>confirm</button>';
では、getData関数の戻りデータを渡して関数を確認するにはどうすればよいですか?????
そして、なぜ「これ」はaddproductオブジェクトではないのですか?