2012-12-21 5 views
0

Google 크롬에서 웹 데이터베이스를 사용하고 있으며 executeSql 함수가 succes와 failure 신호를 모두 트리거합니다!웹 -SQL 쿼리가 성공 및 실패 콜백을 모두 트리거합니다.

function succes(){ 
    alert("succes"); 
} 

function failure(){ 
    alert("failure"); 
} 

var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024); 
db.transaction(function (tx) { 
tx.executeSql("CREATE TABLE IF NOT EXISTS " + 
       "goal(ID INTEGER PRIMARY KEY ASC, goals TEXT, added_on DATETIME, appartient INTEGER, ok INTEGER)", []); 
}); 

$('#button').click(function(){ 
    db.transaction(function(tx){ 
    var goalText = $('#entry').val(); 
    var addedOn = new Date(); 
    var appartient = 0; 
    var ok = 0; 
    alert(goalText); 
    tx.executeSql("INSERT INTO goal(goals, added_on, appartient, ok) VALUES (?,?,?,?)", 
    [goalText, addedOn, appartient, ok], 
    succes(), 
    failure()); 
}); 

}); 

무엇이 문제인가?

+1

아마도 함수의 이름을'success'로 바꾸고 싶을 것입니다. – Quentin

답변

1

당신은 succesfailure를 호출하고 자신의 (undefined) 반환을 전달하는이executeSql에 값.

()을 삭제하고 대신 함수를 전달하십시오.

관련 문제