Ergebnis 1 bis 6 von 6
  1. #1
    Koksnuss ist offline Foren As
    registriert
    05-10-2005
    Beiträge
    90

    Ajax und Java-Script

    Hallo leute!

    Ich hab n kleinen Problem:
    Ich hab ne Seite, die wenn man einen bestimmten Button drückt eine Funktion aufruft, die mittels Ajax im Hintergrund die selbe seite öffnet, sie aber mit anderen Daten füttert (PHP-Datei) und dann den gewonnenen Inhalt in dem gerade geöffneten Dokument sichtbar zu machen.
    Da das wahrscheinlich keiner verstanden hat, versuche ich es mal ausfühlich zu erklären.

    Ich habe eine Datei, die heisst 'downloads.php'.
    In dieser Datei kommt folgender Code-Abschnitt vor:
    HTML-Code:
    <table border="0" cellspacing="1" cellpadding="3" style="width:100%;">
      <tr class="caption" style="text-align:left;">
        <td class="changer" onclick="makeRequest('inc/downloads.php?ajax=1&order=ID&sort=<? if($order=='ID' AND $sort=='ASC') { echo 'DESC'; } else { echo 'ASC'; } ?>&start=<? echo $start; ?>');" title="<? if($sort=='ASC') { echo 'Aufsteigend'; } else { echo 'Absteigend'; } ?> nach ID sortieren" style="cursor:default;width:5%;">
          <table border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td style="width:100%;">#</td>
              <td style="vertical-align:middle;"><? if($order=='ID') { ?><img src="img/symbols/<? echo $sortImage; ?>" /><? } ?></td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
    Wie man hier sehen kann, wird die JavaScript Funktion makeRequest aufgerufen, die ich in das Script einbinde mit:

    HTML-Code:
    <script type="text/javascript" language="javascript" src="sys/js/ajax.js"></script>
    Die Datei schaut wie folgt aus:

    Code:
    var http_request=false;
    function makeRequest(url) {
      http_request=false;
      if (window.XMLHttpRequest) {
        http_request=new XMLHttpRequest();
        if (http_request.overrideMimeType) {
          http_request.overrideMimeType('text/xml');
        }
      } else if (window.ActiveXObject) {
        try {
          http_request=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
          try {
            http_request=new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e) {}
        }
      }
      if (!http_request) {
        return false;
      }
      http_request.open('GET',url, true);
      http_request.onreadystatechange=handleResponse;
      http_request.send(null);
    }
    function handleResponse() {
        if(http_request.readyState==4){
            var response=http_request.responseText;
     		document.getElementById('ajax').innerHTML=response;
        }
    }
    Nun wird also bei einem Klick auf die Tabellen-ZelleDie Funktion makeRequest aufgerufen, die im Hintergrund die URL
    inc/downloads.php?ajax=1&order=ID&sort=<? if($order=='ID' AND $sort=='ASC') { echo 'DESC'; } else { echo 'ASC'; } ?>&start=<? echo $start; ?>
    aufruft.

    Bis jetzt funktioniert alles super.

    ABER:Sobald in der Datei, die ich durch Ajax öffne JavaScript Code ist, bekomme ich den nicht mehr angezeigt. Soll heissen:
    Ich habe in der downloads.php eine Stelle:
    Code:
    <script>
    			 <!--
    			  document.write("<a onclick=\"confirmbox('index.php?inc=downloads&sort=<? echo $sort; ?>&order=<? echo $order; ?>&start=<? echo $start; ?>&do=del&DCID=<? echo $DCID; ?>','Soll diese Download-Kategorie wirklich gel&ouml;scht werden?\\nACHTUNG: Alle Downloads in dieser Kategorie werden dabei auch gel&ouml;scht!'); return false;\" href=\"#\"><img src=\"img/symbols/delete.gif\" alt=\"DEL\" title=\"Diese Download-Kategorie L&ouml;schen\" /></a>");
    			 -->
    			</script>
    Dieser JS-Code wird komischerweise nicht mehr geparst würde ich fast sagen, da er im Quellcode nach wie vor auftaucht, jedoch die entsprechende Stelle auf der Seite einfach verschwindet.

    Ich hoffe, es war nicht zu lang und ihr versteht, was ich meine, vierlen danke im Voraus für Antworten!

    M.f.g Koksnuss

  2. #2
    Koksnuss ist offline Foren As
    registriert
    05-10-2005
    Beiträge
    90

    AW: Ajax und Java-Script

    Kure frage:

    Ist das verständlich erklärt, oder soll ich versuchen es ausführlicher zu erklären?

  3. #3
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Ajax und Java-Script

    Also, du hast kein Ajax Problem und der PHP Code ist hier auch völlig uninteressant.

    Gut wäre gewesen, du hättest das Problem auf das Notwendigste reduziert. Das habe ich jetzt mal versucht und siehe da, dass JS wird im FF nicht ausgeführt, im IE 6 allerdings schon.

    Hier der Code:
    PHP-Code:
    window.onload = function()
    {
    var 
    window.document.getElementById('test');
    var 
    html '<script type="text\/javascript">\nalert("");\n<\/script>';
    alert(html);
    o.innerHTML html;
    }
    </script>
    ...

    <div id="test"> test </div> 
    Also - keine chance

  4. #4
    Koksnuss ist offline Foren As
    registriert
    05-10-2005
    Beiträge
    90

    AW: Ajax und Java-Script

    OK, das is schade, aber was solls, danke für die Antworten!

  5. #5
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Ajax und Java-Script

    Ich hab mal probiert, mit einem iframe würde es gehen (in mit document.write() ausgegebener HTML Code wird JS ausgeführt), allerdings musst du für Opera dann auch eine leere Seite laden.

    PHP-Code:
    window.onload = function()
    {
    var 
    html '<script type="text\/javascript">\nalert("");\n<\/script>';
    parent['test'].document.write(html)
    parent['test'].document.close();
    }
    </script>
    <iframe name="test" src="leer.html"> test </iframe>  

    </body>
    </html> 

  6. #6
    Koksnuss ist offline Foren As
    registriert
    05-10-2005
    Beiträge
    90

    AW: Ajax und Java-Script

    Gut, danke! Aber ich habe auch was rausbekommen ^^
    Also, ich weiss nicht, ob das jetzt behindert ist, was is jetzt gleich sage, weil es shon klar war, ich wollt es nur mal sagen, da es mir geholfen hat und vll. jmd. anderen helfen kann, wenn er das selbe Prob. hat:

    ICh habe ja in meinem Code einen Teil, der in <script>-Tags steht:

    HTML-Code:
    <script>
    			 <!--
    			  document.write("<a onclick=\"confirmbox('index.php?inc=downloads&sort=<? echo $sort; ?>&order=<? echo $order; ?>&start=<? echo $start; ?>&do=del&DCID=<? echo $DCID; ?>','Soll diese Download-Kategorie wirklich gel&ouml;scht werden?\\nACHTUNG: Alle Downloads in dieser Kategorie werden dabei auch gel&ouml;scht!'); return false;\" href=\"#\"><img src=\"img/symbols/delete.gif\" alt=\"DEL\" title=\"Diese Download-Kategorie L&ouml;schen\" /></a>");
    			 -->
    			</script>
    Nun habe ich rausbekommen, wie gesagt, das ist vll. auch gar nichts tolles oder hilfreiches:

    Wenn man die Script-Tags weglässt, dann fubnktioniert wieder alles, auch nachdem "Ajax" verwendet wurde. Die Confirmbox kommt und alles geht. Nun braucht man eig. nur noch einen weg, wie man erkennt, dass der User kein JS unterstützt und das kann ich daraus nachvollziehen, indem die Site mit der Ajax Engine aufgerufen wird. ansonsten hat der User kein JavaScript. Ich hoffe, das hilft hier wem und falls nicht, ich hab echt nicht viel Plan von JS, also nehmt mich ned zu hart ran

Ähnliche Themen

  1. Java SCript + xml ... childNodes.item
    Von metalray im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 01-01-2006, 22:45
  2. Java SCript + xml ... childNodes.item
    Von metalray im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 27-12-2005, 11:37
  3. Burning Board & Java Script (Smielies)
    Von McRonny im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 30-10-2005, 13:16
  4. java script lässt sich nicht laden
    Von bluetec2010 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 16-02-2005, 17:53
  5. Java Bild Zoomen -> brauche hielfe mit dem script
    Von tobi_wan_knobi im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 23-08-2004, 20:01

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •