2015-09-16 25 views
0

我有一個簡單的形式,這裏的jsfiddle:http://jsfiddle.net/atma88/6zx415bo/JavaScript的鏈路接收未捕獲引用錯誤

的問題是,它不會刪除它增加了記錄。

我調用添加列表項的JavaScript deleteRecord這樣的:

function showRecords() { 
    results.innerHTML = ''; 
    db.transaction(function(tx) { 
     tx.executeSql(selectAllStatement, [], function(tx, result) { 
      dataset = result.rows; 
      for (var i = 0, item = null; i < dataset.length; i++) { 
       item = dataset.item(i); 
       results.innerHTML += '<li>' + item['lastName'] + ' , ' + item['firstName'] + ' <a href="#" onclick="loadRecord(' + i + ')">edit</a> ' + '<a href="#" onclick="deleteRecord(' + item['id'] + ');">delete</a></li>'; 
      } 
     }); 
    }); 
} 

我刪除記錄功能如下:

function deleteRecord(id) { 
    alert('it deleted'); 
    db.transaction(function(tx) { 
     tx.executeSql(deleteStatement, [id], showRecords, onError); 
    }); 
    resetForm(); 
} 

當我點擊刪除鏈接我得到的JavaScript錯誤:Uncaught ReferenceError:deleteRecord沒有定義

+1

將jsfiddle菜單從'onLoad'更改爲'No Wrap'選項之一。 – Barmar

+1

當你使用'onLoad'時,一切都在一個函數內,'onclick'屬性在全局範圍內運行。 – Barmar

+1

但是如果你一開始不使用'onclick'屬性會更好。用'.on()'綁定使用jQuery委託的事件處理程序。 – Barmar

回答

0

@Barmar是對的。將JSFiddle設置爲「不包裝在身上」的竅門。