sqlite html5 在插入时复制记录



我有一个用户日志表,它为每个用户操作插入一条记录,但有时它会复制插入的记录。

我的代码非常简单

<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();">

编辑我有完整的代码。此代码运行良好,但有时会在日志表的行中加倍

这曾经发生在任何人身上吗?有谁知道它可能是什么?

可以这么说,您正在添加两次单击侦听器。有一个函数carregado()在事件windowload调用,该函数将事件侦听器绑定到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();">

您可以做的是删除对salvar()onlick属性调用,因为它破坏了仅在完成加载页面后才绑定事件的逻辑carregado(),因此onclick部分在这种情况下似乎毫无用处。尽管如此,它将防止salvar()被召唤两次。

最新更新