hallöchen,
mein script und ich verstehen uns nicht mehr:
script macht per klick auf element folgendes:
-- funktion erstelleOrdner() aufrufen
-- funktion erstelleOrdner() ruft Dialogfunktion zur Eingabe eines Namen auf
...erwartet per callback den eingegebenen Namen als Rückgabewert
...führt dann einen AJAX-Request zum Erstellen des Ordners mit dem callback-Namen als Parameter durch
<span style="color:white;" onclick="erstelleOrdner();"> ++ </span> <!--zum Testen-->
function erstelleOrdner(){
eingabeDialog(elem, 'neuerOrdner', function(x) {
var ordnername=x;
var path=PATH; //PATH=globale Variable
$.ajax({
type:"GET",
url:"ajax/",
dataType:"JSON",
beforeSend:function (xhr){
//angepasste Header
},
data:{ path: path, fn: ordnername},
success: function(data, textStatus, jqXHR){ //build menuObject
alert('ajaxcall'); //wird mit jedem weiteren erstellten Ordner einmal mehr aufgerufen
}
});
return false;
});
}
function eingabeDialog(elem, usecase, inputnameparam){
alert('aufruf editdialog!');
//andere Parameter..(elem ist das formular)
switch(usecase){
case 'neuerOrdner':
//hier wird ein eingabeformular eingeblendet und der Ordnername kann in nameinputeingegeben werden
elem.keypress(function (e){
if(e.which==13){
e.preventDefault();
e.stopPropagation();
renameform.hide();
$('#windoweditcoverage').css('display', 'none');
elem.css('display', 'none');
alert('hier'); //wird mit jedem weiteren erstellten Ordner einmal mehr aufgerufen
inputnameparam(nameinput.val()); //gibt eingabewert an callbackfunction zurück
clearformparams(elem);
}
//return false; ???
});
break;
}
}
DAS PROBLEM:
Erstellt man den 1. Ordner, werden alle Schritte korrekt durchlaufen. Erstellt man den 2. Ordner, wird zwar
auch der richtige Ordner im richtigen Pfad erstellt, aber der Request geht 2 mal raus. Beim 3. Ordner 3 Mal usw. :-)
Es werden beide alerts entsprechend häufig ausgegeben. Also es wird x mal die keypressfunction aufgerufen und x mal der neue Eingabewert an die callbackfunktion
zurückgegeben.
Wooo wird denn noch welches Event nicht gestoppt oder ein Rückgabewert erwartet oderoder?