<html><head> <script type="text/javascript"> /* На странице имеются три динамически создаваемых <span id="someid1"> и <span id="someid2"> элемента, * заключённых в дивы с id="Item". Обращение к ним идёт через someid1[i] и someid2[i]. * Также на странице имеется кнопка, которая по клику собирает содержимое спанов и записывает * всё в таблицу базы WebSQL через вот такую нехитрую функцию: */ function getElements() { // Открываем базу var db = openDatabase("MyBase", "1.0", "Test DB", 200000); // Создаём таблицу, если она ещё не создана. db.transaction(function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS ' + 'items(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, item_title TEXT, item_content TEXT)', [], null, null); }); // Начинаем шпиговать таблицу значениями. for (i = 0; i < Item.length; ++i) { var j = i; db.transaction(function(tx) { tx.executeSql("INSERT INTO items (item_title, item_content) VALUES (?, ?)", [someid1[j].textContent, someid2[j].textContent], function(tx) {alert('Запись' + j + 'внесена в таблицу ITEMS')}, null); }); } } </script></head> <body> <span id="button" onClick="getElements()">Занести в базу</span><br /><br /> <div id="Item"> <span id="someid1">Заголовок 1</span><br /> <span id="someid2">Содержание 1</span><br /><br /> </div> <div id="Item"> <span id="someid1">Заголовок 2</span><br /> <span id="someid2">Содержание 2</span><br /><br /> </div> <div id="Item"> <span id="someid1">Заголовок 3</span><br /> <span id="someid2">Содержание 3</span><br /><br /> </div> </body></html>На выходе я имею три алерта о том, что в таблицу занесена запись [2], таблицу items вида: + - - - - - - - - - - - - - - - -+ | id | item_title | item_content | + - - - - - - - - - - - - - - - -+ | 1 | someid1[2] | someid2[2] | | 2 | someid1[2] | someid2[2] | | 3 | someid1[2] | someid2[2] | + - - - - - - - - - - - - - - - -+ и вполне закономерный вопрос: почему вместо того, чтобы идти по порядку, в запрос попадают только последние элементы? Где искать ошибку? И ещё. Если в функции помимо запросов имеются операторы alert, то игнорятся все запросы к БД. Почему? Помогите разобраться.