Sqlite html5 Дублирование записей при вставке - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть таблица журнала пользователя, которая вставляет запись в каждое действие пользователя, но иногда дублирует вставленные записи.

мой код очень прост

<script>
    db.transaction(function(tx) {
      tx.executeSql('INSERT INTO tab_log (date_occurrence,hour_occurrence,number_user,occurrence,obs_occurrence) VALUES (?,?,?,?,?)', [var_date, var_hour, var_number_user, var_occurrence, var_obs_occurrence]);
    
    });

  </script>

   <input type="button" name="btn_finish" id="btn_finish" value="Finish" onclick="this.blur();salvar();">

РЕДАКТИРОВАТЬ У меня есть полный код сообщения. Этот код работает отлично, но иногда удваивается в строке таблицы журнала

Случалось ли это с кем-нибудь? Кто-нибудь знает, что это может быть?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы добавляете слушателя щелчка дважды, так сказать.Существует функция carregado(), которая вызывается для события window load, связывающего прослушиватель событий с кнопкой finish.

function carregado() {
    document.getElementById('btn_finish').addEventListener('click', salvar);
}

Однако далее на стороне html выустанавливаем атрибут onclick этой кнопки, заставляя ее вызывать salvar() дважды, так как onclick и addEventListener('click') оба привязывают разных слушателей к кнопке.

<input ... id="btn_finish" value="Finish" onclick="this.blur();salvar();">

Что вы можете сделать, чтобы отсортироватьЭто означает, что необходимо удалить вызов атрибута onlick для salvar(), поскольку это нарушает вашу логику связывания события только после окончания загрузки страницы с помощью carregado(), поэтому часть onclick в этом случае кажется бесполезной.Тем не менее, это предотвратит повторный вызов salvar().

...