0
function addQuestionToPool(elem) {
var body = '<div class="row">' +
'<div class="col-md-12 text-center">' +
'<button class="btn btn-danger" onclick="addQuestionToPoolConfirm(elem)">'+LANG.option.add+'</button> ' +
'<button class="btn btn-default" onclick="$(\'.modal\').modal(\'hide\');">'+LANG.option.cancel+'</button>' +
'</div>' +
'</div>';
showPopup("small", LANG.question.are_you_sure, body);
}
function addQuestionToPoolConfirm(elem) {
alert(elem);
$.ajax({
url : URL_API + URL_POLL_QUESTION,
type : 'post',
data : {'user_id' : user_id, 'question' : question, 'input_type_id' : question_type, 'choices' : choices},
dataType : 'json',
success : function (response) {
if (response.error) {
toastr.error(LANG.error.question_add_pool);
} else {
$('.modal').modal('hide');
toastr.success(LANG.info.question_add_pool);
poll_question_datatable.ajax.reload(null, false);
$(elem).attr({
'onclick' : '',
'disabled' : true
}).removeClass('btn-outline');
}
}
});
}
elemはaddQuestionToPoolに対して定義されていますが、addQuestionToPoolConfirmでは未定義です。どうして ?elemは2番目のメソッドで定義されていません
まず、addQuestionToPoolメソッドを呼び出して、このオブジェクトを送信します。私はこのメソッドでオブジェクトにアクセスできます。しかし、私はこのオブジェクトにaddQuestionToPoolメソッドからaddQuestionToPoolConfirmメソッドを送信すると、(これは)定義されていないと言いました。
そしてここにHTMLでelemは次のとおりです。
<button class="btn btn-icon-only btn-circle yellow-crusta btn-outline" onclick="addQuestionToPool(this);"><i class="fa fa-star"></i></button>
'elem'は構築されたHTMLで定義されていないためです。 – BenM
@BenMどうすればその方法でアクセスできますか? – Nevermore
邪魔にならないスクリプトを使用してjQueryを使用できるようになっているのに、なぜインラインスクリプトを使用していますか? – charlietfl