Funktion wirft "undefined is not a function" zurück

CoverUnder

Mitglied
Hallo,

ich habe leider ein Problem und komme nicht auf die Lösung.

Das ist der fehlerhafte Code und die dritte Zeile wirft diese Fehlermeldung zurück: "Uncaught TypeError: undefined is not a function"

Code:
function getStatusDropDownEins(tx, results, id) {
    if (typeof results == 'undefined') {
        tx.executeSql('SELECT * FROM Status',[],getStatusDropDownEins,SQLFail); // Zeile, auf die sich die Fehlermeldung bezieht
    } else {
        var dropDown=null;
    for (var i=0; i<results.rows.length;i++){
            var res = results.rows.item(i);
            dropDown += '<option value="'+res.id+'">'+res.status+'</option>';
        }
        document.getElementById('DDstatusId'+id).innerHTML = dropDown
 document.getElementById('DDstatusId'+id).style.display="block";
    }
}

Und hier wird die Function aufgerufen
Code:
row += "<td>" + '<select id="DDstatusId'+ res.id +'" style="display:none;"></select>' + "</td>";
row += "<td>" + '<input type="button" value="bearbeiten" onclick="db.transaction(getStatusDropDownEins('+res.id+'));editFamilienmitglied('+ res.id +');" id="bearbeiten'+res.id+'" />' + "</td>";

Habt ihr einen Hinweis für mich?
Danke schon mal!

LG
 
Das Problem hat sich erledigt. Bei diesem Beispiel können nur zwei Parameter übergeben werden, da ist der dritte Parameter (id) zu viel.

Für den Fall, dass jemand mal so etwas ähnliches braucht, so funktionierts:

Code:
function getStatusDropDownEins(tx, results) {
    var id = 0;
    for(var i = 1, anz = document.getElementById("javascript").getElementsByTagName("tr").length; i<anz;i++){
        if(document.getElementById('DDstatusId'+i).style.display == "block"){
            id = i;
           
            break;
        }
    }
   
   
    if (typeof results == "undefined") {
        db.transaction(function(tx){tx.executeSql('SELECT * FROM Status',[],getStatusDropDownEins,SQLFail);});
    } else {
        //var dropDown = '<select id="status">';
        var dropDown=null;
    for (var i=0; i<results.rows.length;i++){
            var res = results.rows.item(i);
            dropDown += '<option value="'+res.id+'">'+res.status+'</option>';
        }
        //dropDown += '</select>';
        document.getElementById('DDstatusId'+id).innerHTML = dropDown
    document.getElementById('DDstatusId'+id).style.display="block";
    }
}
 

Neue Beiträge

Zurück