Hallo,
ich habe ein Formular, wo 2 AJAX-Funktionen aufgerufen werden. Einmal in einer SelectBox und einmal bei onSubmit. Beides funktioniert wunderbar, jdeoch habe ich einen "Schönheitsfehler".
Bei der onChange Funktion, lasse ich etwas in eine Input-Feldschreiben. (value=ajax.responseText)
Bei der OnSubmit Funktion, lass ich ein Paar Statusmeldungen ausgeben. Es sind also 2 voneinander getrennte Funktionen, die auch unterschiedliche aufgaben haben jedoch innerhalb eines Formulares.
Das Problem ist, wenn die Statusmeldungen ausgegeben werden, via responseText, das derresponseText von der onChange funktion dabei ist. Wie man im Code sehen kann, habe ich es auch schon mit 2 verschiedenen XMLHttpRequest Objekten versucht -> erfolglos
Funktion 1:
Alles anzeigen
Funktion 2:
Alles anzeigen
Der ResponseText der ersten Funktion ist meintewegen bsp.: 123.
Somit ist der ResponseText der 2.Funktion:
123 <--- responseText Funktion1
STATUSMELDUNG <-- responseText Funktion2
Natürlich soll nur der eigentlich responseText der 2. Funktion angezeigt werden. Irgendwas klatscht sich da.
Hat wer eine Idee? Ich habe es auch schon versucht den responseText mit einer leeren zuweisung zu überschreiben, aber das geht nicht. Ich schließe daraus das alles von Funktion 2. ausgeht, oder Funktion 1 nicht richtig beendet wird, aber ich weiß es nicht genau...
so long
ich habe ein Formular, wo 2 AJAX-Funktionen aufgerufen werden. Einmal in einer SelectBox und einmal bei onSubmit. Beides funktioniert wunderbar, jdeoch habe ich einen "Schönheitsfehler".
Bei der onChange Funktion, lasse ich etwas in eine Input-Feldschreiben. (value=ajax.responseText)
Bei der OnSubmit Funktion, lass ich ein Paar Statusmeldungen ausgeben. Es sind also 2 voneinander getrennte Funktionen, die auch unterschiedliche aufgaben haben jedoch innerhalb eines Formulares.
Das Problem ist, wenn die Statusmeldungen ausgegeben werden, via responseText, das derresponseText von der onChange funktion dabei ist. Wie man im Code sehen kann, habe ich es auch schon mit 2 verschiedenen XMLHttpRequest Objekten versucht -> erfolglos
Funktion 1:
Quellcode
- function completeNewGeraet (vorlagenName) {
- ajax = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
- ajax.onreadystatechange = handlecompleteNewGeraet;
- ajax.open("GET", '/login/new.php?vorlage='+vorlagenName, true);
- ajax.send(null);
- return false;
- }
- function handlecompleteNewGeraet () {
- //alert('ajax state '+ajax.readyState);
- if ((ajax.readyState == 4) && (ajax.status == 200)) {
- //alert('ajax dom start');
- document.getElementById('seriennummerPrefix').value = ajax.responseText;
- }
- }
Funktion 2:
Quellcode
- function addGeraete (seriennummerPrefix) {
- ajaxNew = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
- ajaxNew.onreadystatechange = handleaddGeraete;
- ajaxNew.open("GET", '/login/new.php?seriennummerPrefix='+seriennummerPrefix, true);
- ajaxNew.send(null);
- return false;
- }
- function handleaddGeraete() {
- if ((ajaxNew.readyState == 4) && (ajaxNew.status == 200)) {
- displayContent("vorlagenStatus", ajaxNew.responseText);
- slideBox("formGeraete", "none");
- }
- }
Der ResponseText der ersten Funktion ist meintewegen bsp.: 123.
Somit ist der ResponseText der 2.Funktion:
123 <--- responseText Funktion1
STATUSMELDUNG <-- responseText Funktion2
Natürlich soll nur der eigentlich responseText der 2. Funktion angezeigt werden. Irgendwas klatscht sich da.
Hat wer eine Idee? Ich habe es auch schon versucht den responseText mit einer leeren zuweisung zu überschreiben, aber das geht nicht. Ich schließe daraus das alles von Funktion 2. ausgeht, oder Funktion 1 nicht richtig beendet wird, aber ich weiß es nicht genau...
so long
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.