Я даю JavaScript Oop завихрения для первой попытки, и я получаю эту ошибку:Uncaught TypeError: Невозможно вызвать метод «XXX» неопределенной
Uncaught TypeError: Cannot call method 'addWeight' of undefined
Он complaning о методе, который находится под weight.webdb.addWeight
, который вызывается из глобальной функции addWeight
.
var weight = {};
weight.webdb = {};
weight.webdb.db = null;
weight.webdb.addWeight = function() {
var db = weight.webdb.db;
db.transaction(function(tx) {
var addedOn = new Date();
tx.executeSql('INSERT INTO weight(input,comment,date) VALUES (?,?,?)', [inputWeight, inputComment, addedOn], weight.webdb.onSuccess, weight.webdb.onError);
});
};
function addWeight(){
var weight = document.getElementById('inputWeight');
var comment = document.getElementById('inputComment');
weight.webdb.addWeight(weight.value,comment.value);
}
Демо: http://jsfiddle.net/SMbL3/1/
Что такое 'webdb'? О, я должен открыть скрипку, чтобы посмотреть, о чем ты говоришь? В любом случае, как вы связываете элемент DOM с вашим произвольно именованным объектом? –
Что заставляет вас думать, что элемент DOM «inputWeight» имеет свойство «webdb»? –