| | | | |
| |||||||
| JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer | Habs erst mal nur ein wenig modifiziert, weils recht konfus war. Ebenso, wie der Parameter-Wahnsinn der Funktion setRequest(!!!) Auf Formularfelder kannst auch direkt zugreifen, die brauchst nicht übergeben. Probier das hier mal aus und melde Dich obs vielleicht schon geht oder was statt dessen passiert. HTML-Code: // Ladegrafik
function stateloading(state,statusid) {
if (state) document.getElementById(statusid).innerHTML = "<img src=\'images/ajax-loader.gif\'>";
else document.getElementById(statusid).innerHTML = "";
}
// Request senden
function setRequest(rurl,responsedivid,feld1,value1,feld2,value2,feld3,value3,feld4,value4,feld5,value5,feld6,value6,feld7,value7,feld8,value8,feld9,value9) {
var params = feld1+'='+value1+'&'+feld2+'='+value2+'&'+feld3+'='+value3+'&'+feld4+'='+value4+'&'+feld5+'='+value5+'&';
params += feld6+'='+value6+'&'+feld7+'='+value7+'&'+feld8+'='+value8+'&'+feld9+'='+value9;
stateloading(true,responsedivid);
// Request erzeugen
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
// überprüfen, ob Request erzeugt wurde
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
// Request öffnen
request.open('post', rurl, true);
// Requestheader senden
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
request.send(params);
// Request auswerten
request.onreadystatechange = interpretRequest(responsedivid);
}
}
// Request auswerten
function interpretRequest(responsedivid) {
switch (request.readyState) {
// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
// den Inhalt des Requests in das <div> schreiben
stateloading(false,responsedivid);
document.getElementById(responsedivid).innerHTML = request.responseText;
}
break;
default: break;
}
}
|
| | |
| | |
| Erfahrener Benutzer Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse: Anfänger ![]() | hi arne drews, vielen dank für deine hilfe! leider funktioniert es immer noch nicht. mit dem alert(responsedivid) läufts. dann erhält er die antwort. aber dann hab ich den doofen alert. das ist ja nicht sinn und zweck der angelegenheit. so läufts... Code: // Request auswerten
function interpretRequest(responsedivid) {
alert(responsedivid);
switch (request.readyState) {
// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
// den Inhalt des Requests in das <div> schreiben
stateloading(false,responsedivid);
document.getElementById(responsedivid).innerHTML = request.responseText;
}
break;
default: break;
}
}
außerdem brauche ich nicht immer alle "params". die funktion ist eine die ich auf meheren seiten verwenden möchte. hast du oder jemand anders eine idee, wie ich das noch weiter verschlanken kann. danke! |
| | |
| | |
| Erfahrener Benutzer | Probier's mal so HTML-Code: // Request auswerten
function interpretRequest(responsedivid) {
if(request.readyState==4 && request.status!=200) alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
else if(request.readyState==4 && request.status==200) {
stateloading(false,responsedivid);
document.getElementById(responsedivid).innerHTML = request.responseText;
}
}
|
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse: Anfänger ![]() | Zitat:
liegt es vielleicht irgendwie an der übergabe? Code: // Request auswerten
request.onreadystatechange = interpretRequest(responsedivid);
| |
| | |
| | |
| Erfahrener Benutzer | Hmmm... Das könntest' nochmal probieren. Einfach den Parameter weglassen: HTML-Code: request.onreadystatechange = interpretRequest(); HTML-Code: document.getElementById('die_entsprechende_id').innerHTML = request.responseText;
Könnte Dir höchstens mal mein eigenes Request-Script schicken. Das funktioniert einwandfrei. Mußt es halt dann nur auf Deine Felder anpassen... |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse: Anfänger ![]() | Zitat:
das wäre ganz toll wenn du mir dein script mal zuschickst. entweder hier im forum oder über PN. Danke! | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse: Anfänger ![]() | Hi Leute, ich war mal ein bis googln und habe folgendes gefunden. onreadystatechange - Google-Suche Hier ein Forumartikel zu diesem Thema: Anfängerfrage: http_request.onreadystatechange - AJAX (Asynchronous JavaScripting and XML) Forum Sobald ich es ausprobiert habe, werde ich euch davon berichten. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 11.12.2004
Beiträge: 238
PHP-Kenntnisse: Anfänger ![]() | Hi, habe jetzt ein funktionierendes Script. Die fett markierten Bereiche hab ich geändert. Vielen Dank für die Hilfe Arne Drews. Code: // Ladegrafik
function stateloading(state,statusid) {
if (state) document.getElementById(statusid).innerHTML = "<img border=\'0\' src=\'images/ajax-loader.gif\'>";
else document.getElementById(statusid).innerHTML = "";
}
// Request senden
function setRequest(rurl,responsedivid,feld1,value1,feld2,value2,feld3,value3,feld4,value4,feld5,value5,feld6,value6,feld7,value7,feld8,value8,feld9,value9) {
var params = feld1+'='+value1+'&'+feld2+'='+value2+'&'+feld3+'='+value3+'&'+feld4+'='+value4+'&'+feld5+'='+value5+'&';
params += feld6+'='+value6+'&'+feld7+'='+value7+'&'+feld8+'='+value8+'&'+feld9+'='+value9;
responsedivid = responsedivid;
stateloading(true,responsedivid);
// Request erzeugen
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
// überprüfen, ob Request erzeugt wurde
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
// Request öffnen
request.open('post', rurl, true);
// Requestheader senden
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
request.send(params);
// Request auswerten
//request.onreadystatechange = interpretRequest();
request.onreadystatechange = function() { if(interpretRequest) document.getElementById(responsedivid).innerHTML = request.responseText; }
}
}
// Request auswerten
function interpretRequest() {
if(request.readyState==4 && request.status!=200) alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
else if(request.readyState==4 && request.status==200) {
//stateloading(false,responsedivid);
//document.getElementById(responsedivid).innerHTML = request.responseText;
}
}
|
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fileupload via AJAX | GSJLink | HTML, Usability und Barrierefreiheit | 13 | 17.05.2012 21:41 |
| Ajax und include reloaden | choice | JavaScript, Ajax und mehr | 6 | 10.07.2009 13:47 |
| [Erledigt] Was passiert wenn ein Alert Fenster geöffnet wird | martl666 | JavaScript, Ajax und mehr | 4 | 30.03.2009 17:29 |
| Rezeptdatenbank: Zutatenliste mit Ajax realisieren? | espressoboy | JavaScript, Ajax und mehr | 6 | 25.01.2009 20:23 |
| 1111: AJAX meets PHP (indirectly) | Nikolaus 2.0 | Adventskalender 2008 | 5 | 15.12.2008 11:00 |
| Probleme mit Sonderzeichen bei Ajax (prototype)... | go1denboy | JavaScript, Ajax und mehr | 1 | 31.08.2008 18:44 |
| AJAX Response: Firebug gibt Alert aus | Curanai | HTML, Usability und Barrierefreiheit | 1 | 20.01.2008 20:38 |
| AJAX: Session-Inhalt an PHP | Curanai | HTML, Usability und Barrierefreiheit | 2 | 05.11.2007 15:45 |
| AJAX open mit POST und GET | DonTermi | HTML, Usability und Barrierefreiheit | 5 | 04.10.2007 18:22 |
| Ajax bild.php aktualisieren | M3g4Star | HTML, Usability und Barrierefreiheit | 3 | 09.03.2007 17:14 |
| AJAX läuft im IE nich richtig | Freeaak | HTML, Usability und Barrierefreiheit | 3 | 02.03.2007 18:39 |
| alert.... | dh1sbg | HTML, Usability und Barrierefreiheit | 4 | 28.01.2007 11:59 |
| Ajax und Sonderzeichen? | GSJLink | HTML, Usability und Barrierefreiheit | 1 | 11.11.2006 14:36 |
| AJAX: Newsflash: How to? | SvenLittkowski | HTML, Usability und Barrierefreiheit | 11 | 26.09.2006 23:14 |
| Apache läuft aber kein Php Programm läuft | Server, Hosting und Workstations | 1 | 08.07.2004 15:33 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| ajax alert, javascript funktioniert nur mit alert, interpretrequest, ajax funktioniert nur mit alert, alert ajax, ajax request alert, ajax responsetext nur mit alert, code funktioniert nur mit alert, interpretrequest(, interpretrequest();, ajax interpretrequest übergabe, javascript funktion funktioniert nur mit alert, xmlhttprequest nur mit alert, interpretrequest switch (request.readystate, interpretrequest(), javascript wird nur bei alert, ajax der request wurde abgeschlossen ist aber nicht ok, javascript interpretrequest, function interpretrequest(), ajax interpretrequest |