Moin moin liebe CB Gemeinde.
Ich arbeite gerade, ehr aus Lern Gründen, daran mir ein kleines JS Framework zu basteln.
Jetzt sitze ich an einem Dialog System. denn die alert und confirm dialoge reichen mir nicht und sehen zudem sehr Unschön aus.
Zur zeit baue ich einen Modalen Dialog. Modal heißt in dem Fall es geht nichts anderes auf der Seite außer der Dialog, den Hintergrund sperre ich einfach mit einem großen DIV.
Das ist alles auch so weit schön doch jetzt wird es kanckig. Hauptsächlich benutzen wollte ich den Dialog um die Seite bei einem httpRequest zu sperren und den Nutzer über erfolg / nicht erfolg zu informieren.
Alle Scripte geben entweder "--" = Nicht erfolg, "+-" = Es kommt eine Abfrage bei der man OK oder Abbrechen drücken kann, "++" + Erfolg.
"--" Bendet das Script, "++" bendet das Script ebenfalls, nur "+-" macht probleme. Denn dann zeigt er den Dialog, arbeitet das Script aber im Hintergrund weiter ab, aber er soll dort warten bis entweder OK oder Abbrechen gedrückt wurde. Aus Java kenne ich viele möglichkeiten dies zu realisieren, nur schein JS dort absolut keine Funktionen für zu bieten und das Script in einer while schleife hängen zu lassen finde ich auch nicht gut.
Ich habe bisher 2 lösungen implementiert.
1.) Dem Dialog werden 2 Funktionen übergeben, eine für den Fall das man OK klickt und eine für den Fall das man Abbrechen klickt. Funktioniert, hat aber sehr unübersichtlichen Code zur Folge.
2.) Lasse ich per setIntervall alle 100 Milisekunden den Wert der Buttons abfragen (OK liefert immer 1, Abbrechen immer -1, sonst ist er 0 wenn nichts gedrückt wird), aber auch da muss ich dann eine neue Funktion aufrufen die den jeweiligen Fall behandelt.
Nun meine Frage gibt es etwas wie
wie man ihn da zum warten zwingen kann ist mir klar, ich gebe mit showDialog einfach erst einen return wert aus wenn ein Button geklickt wurde, nur wie warte ich auf eine klick?
Kann man das über listener realisieren ?
Danke für die Aufmerksamkeit
Marc
Ich arbeite gerade, ehr aus Lern Gründen, daran mir ein kleines JS Framework zu basteln.
Jetzt sitze ich an einem Dialog System. denn die alert und confirm dialoge reichen mir nicht und sehen zudem sehr Unschön aus.
Zur zeit baue ich einen Modalen Dialog. Modal heißt in dem Fall es geht nichts anderes auf der Seite außer der Dialog, den Hintergrund sperre ich einfach mit einem großen DIV.
Das ist alles auch so weit schön doch jetzt wird es kanckig. Hauptsächlich benutzen wollte ich den Dialog um die Seite bei einem httpRequest zu sperren und den Nutzer über erfolg / nicht erfolg zu informieren.
Alle Scripte geben entweder "--" = Nicht erfolg, "+-" = Es kommt eine Abfrage bei der man OK oder Abbrechen drücken kann, "++" + Erfolg.
"--" Bendet das Script, "++" bendet das Script ebenfalls, nur "+-" macht probleme. Denn dann zeigt er den Dialog, arbeitet das Script aber im Hintergrund weiter ab, aber er soll dort warten bis entweder OK oder Abbrechen gedrückt wurde. Aus Java kenne ich viele möglichkeiten dies zu realisieren, nur schein JS dort absolut keine Funktionen für zu bieten und das Script in einer while schleife hängen zu lassen finde ich auch nicht gut.
Ich habe bisher 2 lösungen implementiert.
1.) Dem Dialog werden 2 Funktionen übergeben, eine für den Fall das man OK klickt und eine für den Fall das man Abbrechen klickt. Funktioniert, hat aber sehr unübersichtlichen Code zur Folge.
2.) Lasse ich per setIntervall alle 100 Milisekunden den Wert der Buttons abfragen (OK liefert immer 1, Abbrechen immer -1, sonst ist er 0 wenn nichts gedrückt wird), aber auch da muss ich dann eine neue Funktion aufrufen die den jeweiligen Fall behandelt.
Nun meine Frage gibt es etwas wie
Code:
//Psuedocode
if(showDialog("Wollen sie das wirklich ?") == 1) {
// Warten bis showDialog etwas zurückgibt
}
wie man ihn da zum warten zwingen kann ist mir klar, ich gebe mit showDialog einfach erst einen return wert aus wenn ein Button geklickt wurde, nur wie warte ich auf eine klick?
Kann man das über listener realisieren ?
Danke für die Aufmerksamkeit
Marc