Когда я нажимаю кнопку подтверждения, появляется сообщение о том, что неперехваченная ошибка ссылки (значение идентификатора) не определена. Я не думаю, что это относится к функции, так как console.log() не работает.
<script type="text/javascript">
$(document).ready( function () {
var table = $('#example').DataTable();
var rootRef =
firebase.database().ref().child("Users").orderByChild('status')
.equalTo('Tmp');
rootRef.on("child_added",snap => {
var email= snap.child("email").val();
var address= snap.child("address").val();
var contact= snap.child("contact").val();
var ids=snap.key;
var dataSet = [snap.child("fullname").val(), snap.child("email").val(),
snap.child("address").val(), snap.child("contact").val(), "<button
class='btn btn-success' onclick='approve("+ids+")'>Approve</button>"];
table.rows.add([dataSet]).draw();
console.log(ids);
});
} );
function approve(para){
console.log("hi");
console.log(para);
}
</script>
Какое бы значение не ids
внутри переменной ids
оно передается для approve
как имя переменной (ссылка), а не как буквальное значение.
Не уверен, что вы хотите, но я думаю, что вы хотите сделать, это:
onclick='approve(\'"+ids+"\')'
snap.child
строк в и после строки строкиSyntaxError
вызовутSyntaxError
ids
, но выполнениеonclick='approve("+ids+")'
безусловно, неверно. Также неясно, почему вы делаете это в первую очередь, так какapprove
напрямую считываетids
из глобальной области и полностью игнорирует аргумент, который он передает.