Hallo
ich habe diese Funktion:
function erstelleEinheitenTabelle () {
var theTable = loadTableData('einheiten');
alert(theTable);
}
das ruft ja eine andere Funktion auf:
function loadTableData (bezeichnung) {
//die bezeichnung sagt, welche Daten geladen werden sollen
var url_string = 'load_' + bezeichnung + '.php';
var aParams = bezeichnung;
new Request.JSON({
onSuccess: this.callback_createTable.bind(this),
url: url_string,
method: "get"
}).send(aParams);
}
meine Callback-Funktion erstellt die Tabelle:
function callback_createTable (theJsonObj, theJsonText){
if (theJsonObj !== null) {
var bez = theJsonObj.bezeichnung;
var aTable = new Element("table", {
id: bez + 'Table',
'class': 'zebra',
cellPadding: '2px',
cellSpacing: '2px'
});
var aTHead = aTable.createTHead();
var aHeaderRow = aTHead.insertRow();
for (var i = 0, lengthJson = theJsonObj.header.length; i < lengthJson; ++i) {
var aHeaderCell=aHeaderRow.insertCell(0);
aHeaderCell.innerHTML=theJsonObj.header[i];
}
var aTBody = aTable.appendChild(document.createElement('tbody'));
for (var j = 0; j < theJsonObj.rows.length; ++j) {
var aRow = aTBody.insertRow (-1);
for (var i = 0; i < theJsonObj.header.length; ++i) {
var cell = aRow.insertCell (-1);
cell.innerHTML = theJsonObj.rows[j][theJsonObj.header[i]];
}
}
}
return aTable;
}
Das Problem nun ist, dass die erste Funktion schon beim alert vorbei ist, wenn die callback-Funktion anfängt die Tabelle zu erstellen. Wie sage ich der ersten Funktion, dass sie warten soll bis die Tabelle zurückkommt?
Danke&Gruss