Server zu Client Update von 25 verschiedenen divs über einen phpdatei

  • Server zu Client Update von 25 verschiedenen divs über einen phpdatei

    Moin Liebe Comm...

    Hab mich hier schon ein bischen durchgelesen und auch die SuFu genutzt und ein paar nützliche beiträge gefunden.
    Dennoch stehe ich ein bischen auf dem schlauch...

    und zwar ich habe eine Datenbank tabelle mit 27 spalten.. der spalte test_id, test_ref_id, und den spalten test_div1 bis test_div_25,
    in der Tabelle sind ca. 2000 - 3000 Einträge (geordnet nach test_id).
    Ein benutzer bei mir hat zugriff auf einen kleinen "Adminbereich" mit dem er den Eintrag mit der ID == 1 bearbeiten kann...

    andere leute bekommen per zufallsscript (sind alle registrierte user) eine ID zugeordnet und die user_id wird in test_ref_id eingetragen, damit jeder user einzigartig eine tabelle hat (das ganze soll ein spiel werden).

    So nun hat der "admin" das feld 23 geändert und user x hat auf dem feld das gleiche stehen wie der admin eingetragen hat, dann soll bei ihm das feld farbig hinterlegt werden.
    und bei user y ist das feld 23 nicht das gleiche, dann soll nichts passieren...

    jetzt ist meine Frage...

    ist es sinnvoller eine abfrage alle x millisekunen auszuführen und dann das ergebnis per ajax einzubinden, oder einfach eine art "stream" offen halten, und über diesen dann den client zu informieren, es wurde was geändert...

    und nun stellt sich die zweite Frage.

    Wie mach ich das?

    ich dachte mir, es ist komfortabler einen "stream" offen zu halten alla hier oder soll ich das eher so machen wiehier

    klar ist, dass ich auf jeden fall von dem HowTo "Ajax Inhalte mit PHP nachladen" und zwar, dass ich die unterschiedlichen divs unabhängig von einander nachlade...

    und zwar glaub ich, dass es sowas wie

    Quellcode

    1. update = response.split('||');
    2. for(i=0; i<update.length; i+=2) {
    3. document.getElementById(update[i]).innerHTML = update[i+1];
    4. }


    nun kappier ich nicht ganz wie das geht...

    ich habe eine phpdatei die läd sagen wir die 25 felder aus dem eintrag mit der ID 275 und gibt diese zurück.. sprich <div id="feld1">Inhalt von Spalte 1</div> bis <div id="25">Inhalt von Spalte 25</div> und gibt diese an den Clienten aus.

    Wie prüfe ich dann ob eine änderung vorliegt und wie wird dann auch das richtige feld geladen?
    da mach ich glaub ich am besten in die phpdatei eine elseif abfrege alle eleseif(isset($_POST['check_update'])) { // update laden } oder wie? und in diese abfrage komm ich rein wenn ich mit dem ajax das aufrufe:

    Quellcode

    1. #
    2. req.open('POST', 'test.php');
    3. #
    4. req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    5. #
    6. req.send('check_update=1');


    und lasse dann für das geänderte ein string ausgeben der sowas ist wie $str = "23||Inhalt aus spalte 23"; ???

    oder wie soll ich das machen?

    und vorallem wie erkenne ich, ob da sich was geändert hat?

    ich hoffe ihr versteht meine Problematik. Ich habs versucht so gut wie möglich zu beschreiben.

    Gruß Adrian und Danke schon im Voraus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Catarrer () aus folgendem Grund: fehler entdeckt

  • Also zum Verständnis:
    Du hast als Benuter eine Tabelle auf dem Bildschirm. Wenn nun der Administrator eine Veränderung daran vornimmt, sollte der Benutzer diese möglichst schnell, und ohne einen Seitenreload durchzuführen, zu sehen bekommen.

    Catarrer schrieb:

    ist es sinnvoller eine abfrage alle x millisekunen auszuführen und dann das ergebnis per ajax einzubinden, oder einfach eine art "stream" offen halten, und über diesen dann den client zu informieren, es wurde was geändert...

    Also wie du einen Stream (speziell für dieses Beispiel) übers HTTP-Protokoll machen willst, lässt mich aufhorschen. Wie wölltest du das dann realisieren? HTTP ist ein zustandsloses Protokoll. Das heißt, dass der Client seine Daten anfordert und der Server diese ihm sendet. Damit endet die Kommunikation. Der Server kann den Client dann nicht mehr kontaktieren.

    Nun zu Ajax:
    Ich würde dir empfehlen, dass du alle momentan auf dem Bildschirm angezeigten Daten in einen Array speicherst (Stichwort DOM) und diesen dann an den Server bzw. das Script übermittelst. Dieses überprüft dann, ob es Unterschiede zu dem Inhalt der Datenbank(en) gibt und gibt entsprechend veränderte Fehler/oder einen neuen Array mit den neuen Werten wieder zurück (Stichwort JSON, [wiki]JSON: PHP und JavaScript[/wiki]) zurück.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • Moin
    danke für deine Antwort... das mit dem Streamen hast natürlich recht. Da hatte ich wohl einen Denkfehler im Grips ;)

    also ich habs jetzt mal so gemacht:

    test.html:

    Quellcode

    1. <html><head>
    2. <script type="text/javascript">
    3. <!--
    4. function sendRequest(digit) {
    5. var req;
    6. try {
    7. req = window.XMLHttpRequest?new XMLHttpRequest():
    8. new ActiveXObject("Microsoft.XMLHTTP");
    9. } catch (e) {
    10. //Kein AJAX Support
    11. }
    12. req.onreadystatechange = function() {
    13. if ((req.readyState == 4) && (req.status == 200)) {
    14. var update = new Array();
    15. var response = req.responseText;
    16. if(response.indexOf('||' != -1)) {
    17. update = response.split('||');
    18. for(i=0; i<update.length; i+=2)
    19. //document.getElementById(update[i]).value = update[i+1];
    20. document.getElementById(update[i]).style.backgroundColor = "#e5e5e5";
    21. if(document.getElementById(update[i]).value == update[i+1]) {
    22. document.getElementById(update[i]).style.backgroundColor = "red";
    23. }
    24. }
    25. }
    26. };
    27. setTimeout("sendRequest()", 500);
    28. req.open('get', 'func.php');
    29. req.send(null);
    30. }
    31. //-->
    32. </script>
    33. <style type="text/css">
    34. <!--
    35. input {
    36. float:left;
    37. width:25%;
    38. background-color:#e5e5e5;
    39. margin:10px;
    40. height:200px;
    41. width:175px;
    42. border:0px;
    43. }
    44. //-->
    45. </style>
    46. </head>
    47. <body onLoad="sendRequest();">
    48. <input type="text" readonly="readonly" id="content0" value="13" />
    49. <input type="text" readonly="readonly" id="content1" value="9" />
    50. <input type="text" readonly="readonly" id="content2" value="18" />
    51. </form>
    52. </body></html>
    Alles anzeigen


    func.php:

    Quellcode

    1. <?
    2. mysql_connect("localhost", "username","passwort") or die
    3. ("Keine Verbindung moeglich");
    4. mysql_select_db("Datenbank") or die
    5. ("Die Datenbank existiert nicht.");
    6. $sql = "SELECT * FROM test WHERE test_id='1' LIMIT 1";
    7. $result = mysql_query($sql);
    8. while($test = mysql_fetch_assoc($result))
    9. {
    10. $str = 'content0||'.$test['test_1'].'||content1||'.$test['test_2'].'||content2||'.$test['test_3'].'||';
    11. }
    12. echo $str;
    13. ?>
    Alles anzeigen


    das soll erstmal dafür gut sein um zu überprüfen ob der value im Inputfeld dem entspricht, was in der Datenbank ist. Wenn ja, dann soll das Inputfeld rot hinterlegt werden! Tut es aber nicht? wieso?

    Das andere mit dem sofort Update ohne refresh hab ich hinbekommen! Das war sozusagen die Vorstufe von meinem Test hier.

    Ich hoffe Ihr findent den Fehler weil ich bin absoluter Javascript-N00b :D
    ich hoffe ich fux mich da bald rein weil es doch schon gut ist, wenn man ajax entwickelt javascript zu können ;) aber so langsam kommt des ganze schon.
    Und meiner Ansicht nach, sollte es auch so richtig sein wie ich es gecodet hab.
    Aber anscheinend nicht.

    Die Fehlerconsole vom Firefox 3.6 sagt mir die ganze Zeit, dass update nicht deklariert ist und somit getElemtById() ein leerer String ist.
    Wenn ich das ganze aber anstatt der if-abfrage sondern mit document.getElementById(update[i]).value = update[i+1]; mache, funktioniert es... Aber wieso?

    Grüße und Danke schonmal im Voraus


    Adrian

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Catarrer ()

  • Das im Tutorial sind leider keine echten Steams. Es ist nur eine "pseudo" Server zu Client Kommunikation. Indem der Client den Server ständig pollt.
    "Pseudo" Streams bekommst du mit einem speziellen Applikation Server über Comet hin. Aber auch das ist im Prinzip polling.

    Die Verbindung vom Client zum Server wird laaaaange gehalten und immer wenn es Updates gibt, schickt der Server diese und der Client baut die nächste Verbindung auf.
    Kannst ja mal ein bisschen recherchieren, das Thema ist aber garantiert nicht ohne ;)

    Ansonsten habe ich mal ein neues Tutorial angefangen, weil das alte schlecht programmiert ist:
    * demo: demo.easy-coding.de/ajax/mehre…ainer-ajax-aktualisieren/
    * download: demo.easy-coding.de/ajax/mehre…ktualisieren/download.zip

    UPDATE: Habe im Wiki Artikel ein bisschen Text dazu geschrieben: [wiki]Mehrere DIV Container mit AJAX aktualisieren[/wiki]
  • jo danke =) klingt interessant des thema ;)
    werd mich mal drum bemühen
    aber vorher is interessant:
    und warum geht mein script etzt ned? :D
    *gg*

    ich bin hier am verzweifeln...

    mein firebug is auch ned sehr hilfreich...

    zumal er mitlerweile contet0 und content1 richtig macht und bei content2 sagt er immer update ist leer oO

    EDIT:
    habs etz irgend wie zum laufen gebracht :D KA wie...
    wenn ich nun die Datenbank aktuallisiere.. sprich bei test_1 ne 13 reinschreib wirds rot und wenn was anderes drinnren steht wirds wieder grau...
    also des was ich (erstmal) erreichen wollte..

    werd mir dein tut mal anschauen... kannst du eventuell auch ne beschreibung dazu geben?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Catarrer ()

  • ja, ich werde noch ein bisschen Text dazu schreiben. Habe die Dateien übrigens aktualisiert.

    Ansonsten ist die Benutzung recht simpel

    Quellcode

    1. <html>
    2. <head>
    3. <script type="text/javascript" src="ajax.js"></script>
    4. <script type="text/javascript" src="update-many-divs.js"></script>
    5. <script type="text/javascript">
    6. var up = new UpdateManyDivs('callback.php', false, 750);
    7. </script>
    8. </head>
    9. <body>
    10. <div id="update1">Ich werde aktualisiert #1</div>
    11. <script type="text/javascript">up.push('update1');</script>
    12. <div id="update2">Ich werde aktualisiert #2</div>
    13. <script type="text/javascript">up.push('update2');</script>
    14. <p>
    15. <a href="#" onclick="up.fire()">force single update</a> ::
    16. <a href="#" onclick="up.start()">start autoupdate</a> ::
    17. <a href="#" onclick="up.stop()">disable autoupdate</a>
    18. </p>
    19. </body>
    20. </html>
    Alles anzeigen


    Schau dir dann einfach nur an was in der callback.php ankommt

    Quellcode

    1. $data = array();
    2. foreach($_GET as $identfier => $val) {
    3. $data[$identfier] = DEIN_DATENBANK_REQUEST($identfier);
    4. }
    5. echo json_encode($data);


    Habe im Wiki Artikel ein bisschen Text dazu geschrieben: [wiki]Mehrere DIV Container mit AJAX aktualisieren[/wiki]
  • Moin,
    danke erstmal für des super wiki =)

    ich glaub ich steig bei der callback.php immer noch ned richtig durch...

    ich versuchs mal:

    PHP-Quellcode

    1. $data = array();
    2. // is ja noch simpel: $data wird als array deklariert. deswegen auch die nachfolgende foreach-schleife.
    3. foreach($_GET as $identfier => $val) {
    4. // hier wirds schon schwierig, ich glaub hier häng ich fest. werden die daten für des update in ein array im javascript geladen und dann via get übertragen oder wie?
    5. //kann ich hier eventuell auch $_POST verwenden, sprich dass die daten per post und nicht get kommen (kleine sicherheitsfrage...)
    6. //mene frage: was ist $identifier und was ist $val, sprich, was kommt in den variablen an, bzw was steht da drinnen und wie wird das weiter verarbeitet?
    7. $data[$identfier] = DEIN_DATENBANK_REQUEST($identfier);
    8. //so, das ist klar. hier deklariere ich jedes einzelne arrayfeld. und wie sieht dann z.B. eine Datenbankabfrage dafür aus?
    9. // a$data[$identifier] = mysql_query("SELECT * FROM tabelle WHERE spalte='".$identifier."'"); ??? is das jetzt richtig verstanden?
    Alles anzeigen


    liebe grüße

    Adrian

    [EDIT]: ich glaub ich habs ^^
    stand voll auf m schlauch...

    $_GET ist das array aus allen $_GET requests sprich allen ? und & in der url...
    und deswegen auch der rest
    und $itentifier ist hald des einzelne getelement... aber was ist $val ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Catarrer ()

  • ja jetzt hab ichs kappiert =)

    danke

    werd jetzt mal dein tutorial durchgehen und mal schauen, was ich draus machen kann =))

    EDIT: noch ne Frage:
    kann ich bei up.push('update2'); auch ein array nehmen?
    sprich ich sag

    Quellcode

    1. var a = new Array();
    2. for(i=0;i<25;i+1)
    3. {
    4. a[i] = 'update'+a;
    5. }
    6. up.push(a);


    ??

    oder wie müsste dass aussehen?
  • noch ein ganz anderes problem...

    also das ganze soll bei mir ein radio on air game werden namens "Bingo" (jeder kennt es)

    ich stell hier mal die codes online, weil das script macht nicht, was ich will...

    bingo.php

    Quellcode

    1. <?php
    2. if (!function_exists('getTpl')) {
    3. function getTpl($tpl) {
    4. global $config, $templates;
    5. if ($templates[$tpl]=='') $templates[$tpl]=str_replace("\"","\\\"",implode("",file('templates/'.$tpl.'.htm')));
    6. return $templates[$tpl];
    7. }
    8. }
    9. if(isset($_COOKIE['bingo_nr']))
    10. $schein = $_COOKIE['bingo_nr'];
    11. else header('LOCATION: index.html');
    12. mysql_connect("localhost", "****","*****") or die
    13. ("Keine Verbindung moeglich");
    14. mysql_select_db("bingo") or die
    15. ("Die Datenbank existiert nicht.");
    16. $sql = "SELECT * FROM bingo WHERE bingo_id='".$schein."' LIMIT 1";
    17. $result = mysql_query($sql);
    18. while($bingo=mysql_fetch_assoc($result))
    19. {
    20. $verify = md5($bingo['bingo_id']);
    21. eval ("\$site.= \"".getTpl("".$dir."index")."\";");
    22. }
    23. echo $site;
    24. ?>
    Alles anzeigen


    index.htm

    Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
    3. <head>
    4. <title>Mehrere DIV Container mit AJAX aktualisieren</title>
    5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    6. <script type="text/javascript" src="ajax.js"></script>
    7. <script type="text/javascript" src="update-many-divs.js"></script>
    8. <link rel="stylesheet" type="text/css" href="style.css" />
    9. <script type="text/javascript">
    10. var up = new UpdateManyDivs('callback.php');
    11. </script>
    12. </head>
    13. <body>
    14. <div class="row">
    15. <div class="bingo" ></div>
    16. <div class="bingo" >B</div>
    17. <div class="bingo" >I</div>
    18. <div class="bingo" >N</div>
    19. <div class="bingo" >G</div>
    20. <div class="bingo" >O</div>
    21. </div>
    22. <div class="row">
    23. <div class="bingo" >1</div>
    24. <div class="normal" id="bingo_1">$bingo[bingo_1]</div>
    25. <div class="normal" id="bingo_6">$bingo[bingo_6]</div>
    26. <div class="normal" id="bingo_11">$bingo[bingo_11]</div>
    27. <div class="normal" id="bingo_16">$bingo[bingo_16]</div>
    28. <div class="normal" id="bingo_21">$bingo[bingo_21]</div>
    29. </div>
    30. <div class="row">
    31. <div class="bingo" >2</div>
    32. <div class="normal" id="bingo_2">$bingo[bingo_2]</div>
    33. <div class="normal" id="bingo_7">$bingo[bingo_7]</div>
    34. <div class="normal" id="bingo_12">$bingo[bingo_12]</div>
    35. <div class="normal" id="bingo_17">$bingo[bingo_17]</div>
    36. <div class="normal" id="bingo_22">$bingo[bingo_22]</div>
    37. </div>
    38. <div class="row">
    39. <div class="bingo" >3</div>
    40. <div class="normal" id="bingo_3">$bingo[bingo_3]</div>
    41. <div class="normal" id="bingo_8">$bingo[bingo_8]</div>
    42. <div class="normal" id="bingo_13">$bingo[bingo_13]</div>
    43. <div class="normal" id="bingo_18">$bingo[bingo_18]</div>
    44. <div class="normal" id="bingo_23">$bingo[bingo_23]</div>
    45. </div>
    46. <div class="row">
    47. <div class="bingo" >4</div>
    48. <div class="normal" id="bingo_4">$bingo[bingo_4]</div>
    49. <div class="normal" id="bingo_9">$bingo[bingo_9]</div>
    50. <div class="normal" id="bingo_14">$bingo[bingo_14]</div>
    51. <div class="normal" id="bingo_19">$bingo[bingo_19]</div>
    52. <div class="normal" id="bingo_24">$bingo[bingo_24]</div>
    53. </div>
    54. <div class="row">
    55. <div class="bingo" >5</div>
    56. <div class="normal" id="bingo_5">$bingo[bingo_5]</div>
    57. <div class="normal" id="bingo_10">$bingo[bingo_10]</div>
    58. <div class="normal" id="bingo_15">$bingo[bingo_15]</div>
    59. <div class="normal" id="bingo_20">$bingo[bingo_20]</div>
    60. <div class="normal" id="bingo_25">$bingo[bingo_25]</div>
    61. </div>
    62. <p>
    63. <a href="#" onclick="up.fire()">force single update</a> ::
    64. <a href="#" onclick="up.start()">start autoupdate</a> ::
    65. <a href="#" onclick="up.stop()">disable autoupdate</a>
    66. </p>
    67. <script type="text/javascript">
    68. up.push('bingo_1');
    69. up.push('bingo_2');
    70. up.push('bingo_3');
    71. up.push('bingo_4');
    72. up.push('bingo_5');
    73. up.push('bingo_6');
    74. up.push('bingo_7');
    75. up.push('bingo_8');
    76. up.push('bingo_9');
    77. up.push('bingo_10');
    78. up.push('bingo_11');
    79. up.push('bingo_12');
    80. up.push('bingo_13');
    81. up.push('bingo_14');
    82. up.push('bingo_15');
    83. up.push('bingo_16');
    84. up.push('bingo_17');
    85. up.push('bingo_18');
    86. up.push('bingo_19');
    87. up.push('bingo_20');
    88. up.push('bingo_21');
    89. up.push('bingo_22');
    90. up.push('bingo_23');
    91. up.push('bingo_24');
    92. up.push('bingo_25');
    93. </script>
    94. </body>
    95. </html>
    Alles anzeigen


    update-many-divs.js:

    Quellcode

    1. /**
    2. * xxx [..] by http://www.easy-coding.de
    3. *
    4. * @param url
    5. * @param poll
    6. */
    7. function UpdateManyDivs(url, poll) {
    8. this.url = url;
    9. this.poll = poll ? poll : 750;
    10. this.list = [];
    11. this.timer = null;
    12. /**
    13. * adds elem
    14. * @param id string as id
    15. */
    16. this.push = function(id) {
    17. this.list.push(id);
    18. };
    19. /**
    20. * sends single request
    21. * @param loop boolean
    22. */
    23. this.fire = function(loop) {
    24. ajaxPost(this.url + '?' +this.list.join('&'), 'seed='+ new Date().getTime(), function(up) {
    25. return function() {
    26. if (this.readyState == 4 && this.status == 200) {
    27. if(loop) {
    28. // start timer
    29. up.start();
    30. }
    31. var data = eval('(' + this.responseText + ')');
    32. for(var key in data) {
    33. if(document.getElementById(key).innerHTML == data[key])
    34. {
    35. document.getElementById(key).className = "highlight";
    36. }
    37. else
    38. {
    39. document.getElementById(key).className = "normal";
    40. }
    41. }
    42. }
    43. };
    44. }(this));
    45. };
    46. /**
    47. * stops auto updater
    48. */
    49. this.stop = function() {
    50. window.clearTimeout(this.timer);
    51. };
    52. /**
    53. * starts auto updater
    54. */
    55. this.start = function() {
    56. this.timer = window.setTimeout(function(up) {
    57. return function() {
    58. up.fire(true);
    59. };
    60. }(this), this.poll);
    61. };
    62. }
    Alles anzeigen


    ajax.js:

    Quellcode

    1. /**
    2. * starts a new post ajax request [..] by http://www.easy-coding.de
    3. * depending on the callback type this function will fill a target container
    4. * by addressing it from its string ID, from reference or by usage of
    5. * a custom callback function
    6. *
    7. * @param url string url to post the request
    8. * @param postData string data in GET format
    9. * @param callback string|object|function how to address the target container
    10. * @return boolean everytime false
    11. */
    12. function ajaxPost(url, postData, callback) {
    13. var req;
    14. try {
    15. req = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
    16. } catch (e) {
    17. // browser does not have ajax support
    18. }
    19. req.onreadystatechange = typeof callback == 'function' ? callback : function() {
    20. if (req.readyState == 4 && req.status == 200) {
    21. if(typeof callback == 'string') callback = document.getElementById(callback);
    22. if(callback) callback.innerHTML = req.responseText;
    23. }
    24. };
    25. req.open('POST', url, true);
    26. req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    27. req.send(postData);
    28. return false;
    29. }
    Alles anzeigen


    callback.php:

    Quellcode

    1. <?php
    2. mysql_connect("localhost", "datenbaseuser","databasepassword") or die
    3. ("Keine Verbindung moeglich");
    4. mysql_select_db("bingo") or die
    5. ("Die Datenbank existiert nicht.");
    6. function getRandomText($field) {
    7. $sql = "SELECT * FROM bingo WHERE bingo_id='1' LIMIT 1";
    8. $result = mysql_query($sql);
    9. $text = '';
    10. while($bingo = mysql_fetch_assoc($result))
    11. {
    12. $text .= $bingo[$field];
    13. }
    14. return $text;
    15. }
    16. $data = array();
    17. foreach($_GET as $field => $val) {
    18. $data[$field] = getRandomText($field);
    19. }
    20. echo json_encode($data);
    21. ?>
    Alles anzeigen


    interessant bei update-many-divs.js sind zeile 38 - 42 dort wird geprüft ob ne richtige zahl vorhanden ist. wenn ja hintergrund = rot, ansonsten grau...

    aber es geht nicht... -.-

    die callback.php alla callback.php?bingo_1&bingo_2&bingo_3&bingo_4 aufgerufen liefert {"bingo_1":"11","bingo_2":"9","bingo_3":"13","bingo_4":"9"} zurück. sprich die callback funktioniert!
    Mein Firebug gibt keine fehlermeldungen aus,.. ich habe keine ahnung, wieso das nicht funktioniert. vielleicht hat einer von euch eine idee?

    Wie immer: danke im voraus ;)
    greets Adi

    EDIT: Normal sollten die Felder B1 und B5 rot sein...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Catarrer ()

  • zu deinem ersten Problem:

    Quellcode

    1. for(var i=0;i<25;i++) {
    2. up.push('update'+a);
    3. }


    Zu deinem zweiten Problem.
    Evtl liegt es an deinem Vergleich:

    Quellcode

    1. document.getElementById(key).innerHTML == data[key]


    der ist schon ziemlich hart, wenn es um große Texte geht.
    Lass dir doch in Zeile #44 alles mal ausgeben

    Quellcode

    1. alert((document.getElementById(key).innerHTML == data[key] ? 1 : 2) + "\n\n" + document.getElementById(key).innerHTML + "\n\n" + data[key]);