簡體   English   中英

Sqlite html5插入時重復記錄

[英]Sqlite html5 Duplicating Records on Inserting

我有一個用戶日志表,該表向每個用戶操作插入一條記錄,但有時它會復制插入的記錄。

我的代碼很簡單

 <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()window load事件上調用,該函數將事件偵聽器綁定到finish按鈕。

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

但是,在html另一側,您正在設置該按鈕的onclick屬性,使其兩次調用salvar() ,因為onclickaddEventListener('click')都將不同的偵聽器綁定到該按鈕。

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

您可以采取的措施是刪除對salvar()onlick屬性調用,因為只有在完成了用carregado()加載頁面后,它才會破壞綁定事件的邏輯,因此在這種情況下, onclick部分似乎沒有用。 不過,這將防止salvar()被調用兩次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM