• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ausgabe via alert funktioniert, aber mit return nicht

freakyBOi

Neues Mitglied
Hi,

Ich habe gerade ein sehr kurioses Problem.

Folgende Ausgabe funktioniert einwandfrei:
Code:
[...]
var erg="";
for (var i=0; i<results.rows.length; i++) { 
	 
						 var row = results.rows.item(i);
						 
						 erg = row[attri];         
                     
                     }
					 alert erg;
[...]

Doch wenn ich den Rückgabewert dieser Variante anzeigen lassen will, wird mir immer nur undefined angezeigt:
Code:
[...]
var erg="";
for (var i=0; i<results.rows.length; i++) { 
	 
						 var row = results.rows.item(i);
						 
						 erg = row[attri];         
                     
                     }
					 return erg;
[...]

Muss ich erst noch eine toString-Methode oder ähnliches anwenden? Gibt es derartiges bei JavaScript?

Schon mal danke für Antworten.


P.S. toString() bringt leider auch nichts, das habe ich gerade getestet...
 
Hier die komplette Funktion:
Code:
function getReisedetail(attri) {
            	var rid=localStorage.getItem('aktuelleId');
              var query = "SELECT "+attri+" FROM reisen where reisenid="+rid;
            
            try {
               mydb.transaction(
               function(transaction) {
 
                  transaction.executeSql(query,
                  [],
                  function (transaction, results) {
					  
					   var erg="";
					   
                     for (var i=0; i<results.rows.length; i++) { 
	 
						 var row = results.rows.item(i);
						 
						 erg = row[attri];         
                     	
                     }
					 return erg;
					 
                  }, function (transaction, error) {
                     document.getElementById("status").innerHTML = "Sth. went wrong. Failure code: " + error.code + "<br />Message: " + error.message;
                  });
               });
            } catch(e) {
              
            }
         }

und so möchte ich die Fkt. aufrufen:

Code:
function createPageReisedetails(){
			 
			var rdtitle="Reise nach "+getReisedetail('reiseziel'); 
			 document.getElementById('rdtitle').innerHTML =rdtitle;
			 
		 }
 
So wie das im Zusammenhang steht, sieht es mir eher nach der Frage aus, was die Funktion "mydb.transaction()" macht und wie von dieser Rückgabewerte verarbeitet werden können. Da ich die Funktion nicht kenne, solltest Du dort nachschauen wo Du sie her hast.
 
Die Frage ist, wie du auf diesen Rückgabewert zugreifen willst?
Das ist ein closure das als Callbackfunktion aufgerufen wird, d.h. diesen Rückgabewert kannst du nirgendwo verwenden.
 
Zurück
Oben