php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.09.2011, 10:04  
Neuer Benutzer
 
Registriert seit: 14.12.2008
Beiträge: 29
PHP-Kenntnisse:
Anfänger
chiwie befindet sich auf einem aufstrebenden Ast
Standard Ajax onreadystatechange

Wenn ich folgendes ausführe wird nur beim 2ten request was geladen:
PHP-Code:
function AjaxStatusChange()
{
     switch(
req[Link].readyState) {
     case 
4:
         
     if(
req[Link].status==200) {    
         if(
Parent)
         {
             if(
Override)
                 
document.getElementById(Parent).innerHTML req[Link].responseText;
             else
                 
document.getElementById(Parent).innerHTML += req[Link].responseText;
             
evalNewJs(document.getElementById(Parent));
         }
             
     }else{
         
alert("Fehler beim laden der Seite!");
     }
     return 
true;
     break;

     default:
         return 
false;
     break;     
}

füge ich allerdings ein alert vor die switch abfrage funktioniert es im Firefox doch nicht im ie:
PHP-Code:
alert(Parent+req[Link].readyState);
     switch(
req[Link].readyState) { 
beim IE wird beim 2ten nur Parent1 ausgegeben
beim Firefox alle 4 stufen.

Geändert von chiwie (15.09.2011 um 10:18 Uhr).
chiwie ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.09.2011, 10:14  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Wie sieht dein ganzer code aus? Hast Du sowas davor geschrieben?

PHP-Code:
//...
    
var request false;

    function 
setRequest(id) {

        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) {}
            }
        }
//usw. 
...in der Art ungefähr. Ansonsten betreibe debugging.

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 15.09.2011, 10:18  
Neuer Benutzer
 
Registriert seit: 14.12.2008
Beiträge: 29
PHP-Kenntnisse:
Anfänger
chiwie befindet sich auf einem aufstrebenden Ast
Standard

Ja das hier:
PHP-Code:
function AjaxCreateRequest()
{
    try{
        var 
requ = new XMLHttpRequest();
    }
    catch (
ms){
        try{
            var 
requ = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (
nonms){
            try{
                var 
requ = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (
failed){
                var 
requ null;
            }
        }  
    }
    return 
requ;

Die Hauptfunktion ist:

PHP-Code:
function AjaxLoadFile(link,div,override)
{
    
Parent div;
    
Override override;
    
Link link;
    
req[Link] = AjaxCreateRequest();
    
req[Link].open("GET"linktrue);

    
req[Link].onreadystatechange AjaxStatusChange;

    
req[Link].setRequestHeader("Content-Type",
                          
"application/x-www-form-urlencoded");
    
req[Link].send(null);

mit folgender Funktion sollen die Daten geladen werden:
PHP-Code:
<select onchange="javascript:AjaxLoadFile('index.php?site=rfm&RFMList=changeNumofEntrys&RFMItemsPerSite='+this.selectedIndex+'','RFMSiteMenu',true);AjaxLoadFile('index.php?site=rfm&RFMList=changeNumofEntrys&getitems=1&RFMItemsPerSite='+this.selectedIndex+'','RFMItems',true)" name="RFMItemsPerSite"
PHP-Code:
req[Link].open("GET"linkfalse); 
habe ich jetzt erstmal mal als zwagslösung verwendet, dadurch gehts aber ist das Sinnvoll?

Geändert von chiwie (15.09.2011 um 11:45 Uhr).
chiwie ist offline   Mit Zitat antworten
Alt 15.09.2011, 17:44  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.728
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Was sträubt ihr euch immer dagegen, unkompliziert testbare Beispiele zu schreben?

Habe ich Lust, vier Snippets aus zwei Posts zusammenzukopieren, den HTML-Rahmen mitsamt Script-Bereich und korrektem Formular anzulegen, eine serverseitige Komponente zu schreiben, die Daten zurückliefert, und mir dann noch zu überlegen, was das hier bedeuten soll?

Zitat:
beim IE wird beim 2ten nur Parent1 ausgegeben
beim Firefox alle 4 stufen
Nein, nicht wirklich.
__________________
Blog | Buch | Kaloa
mermshaus ist gerade online   Mit Zitat antworten
Alt 15.09.2011, 17:56  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Verwende irgendein Framework für den Ajax Part. das <select onclick="..." /> ist auch unschön, definiere die event handler gleich in der JS Datei (auch dabei kann dir ein Framework helfen).

Du hast haufenweise globals in deinen Funktionen, dafür definierst du innerhalb von AjaxCreateRequestdie eine Variable 5 mal neu.

jshint kann dir helfen, den Codesumpf aufzuräumen Bei den Fehlermeldungen einfach googlen, was du falsch gemacht hast.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fileupload via AJAX GSJLink HTML, Usability und Barrierefreiheit 13 17.05.2012 21:41
jQuery UI Tabs komplett mit AJAX laden und letzt gewählten Tab wählen K00S JavaScript, Ajax und mehr 6 10.09.2011 13:54
PHP Script bricht nach 10 Sek. ab (durch Ajax?) Pauliene PHP-Fortgeschrittene 6 13.05.2011 12:22
PHP Classen via Ajax instanzieren shredding PHP Einsteiger 12 20.04.2011 17:42
[Erledigt] AJAX basierter Iterator mbunge Software-Design 5 05.04.2011 14:45
[Erledigt] Web-Präsentation mit AJAX bbskater JavaScript, Ajax und mehr 3 24.09.2010 15:11
[Erledigt] Ajax, jQuery - CKEDITOR Fehler bei Instanzierung jGeee JavaScript, Ajax und mehr 3 26.03.2010 09:09
Ajax Anwendung, reines Ajax oder Ajax und Html jackie1983 JavaScript, Ajax und mehr 5 09.02.2010 16:50
AJAX - Variable von PhP erhalten auf möglichst simple Weise? SplitterWind JavaScript, Ajax und mehr 10 10.01.2010 04:34
Wie lade ich ein Javascript nach einer AJAX Abfrage neu? da.eXecutoR JavaScript, Ajax und mehr 3 21.09.2009 11:15
Ajax und include reloaden choice JavaScript, Ajax und mehr 6 10.07.2009 13:47
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: Session-Inhalt an PHP Curanai HTML, Usability und Barrierefreiheit 2 05.11.2007 15:45
Ajax bild.php aktualisieren M3g4Star HTML, Usability und Barrierefreiheit 3 09.03.2007 17:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
onreadystatechange ajax, ajax onreadystatechange, onreadystatechange, on ready state change, onreadystatechange ajax function, javascript onreadystatechange return, onreadystatechange wiki deutsch, onreadystatechange, php, javascript ajax onreadystatechange

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum