Avatar billede maxiz Nybegynder
12. juni 2009 - 19:57 Der er 10 kommentarer

Fejl i javascript ?!

Hej eksperter!
Internet explore kommer med fejlen:
Meddelelse: 'target2' er null eller ikke et objekt
Linje: 95
Tegn: 7
Kode: 0

Jeg har fremhævet linjen med fed så man kan se hvor det er.
Nogen der kan hjælpe mig med at rette det til, så der ikke kommer fejl... Mange tak på forhång :)



<html>
<head>

<script language="JavaScript" type="text/javascript">

var xmlhttp = false ;

if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
{
  try {
    xmlhttp = new XMLHttpRequest ();
  }
  catch (e) {
  xmlhttp = false}
}


function myXMLHttpRequest (){
  var xmlhttplocal;
 
    try {
      xmlhttplocal = new ActiveXObject("Msxml2.XMLHTTP.3.0")}
  catch (e) {
     
      try {
      xmlhttplocal = new ActiveXObject("Msxml2.XMLHTTP.5.0")}
  catch (e) {
     
  try {
      xmlhttplocal = new ActiveXObject ("Msxml2.XMLHTTP")}
  catch (e) {
    try {
    xmlhttplocal = new ActiveXObject ("Microsoft.XMLHTTP")}
    catch (E) {
      xmlhttplocal = false;
    }
  }
  }
  }

  if (!xmlhttplocal && typeof XMLHttpRequest != 'undefined') {
    try {
      var xmlhttplocal = new XMLHttpRequest ();
    }
    catch (e) {
      var xmlhttplocal = false;
    }
  }
  return (xmlhttplocal);
}

var mnmxmlhttp = Array ();
var mnmString = Array ();
var mnmPrevColor = Array ();
var responsestring = Array ();
var myxmlhttp = Array ();
var responseString = new String;

var i=0;
var ii = 0;

function ajax_update(myUrl, myDiv, rate){

    target2 = document.getElementById ('content');

    ii = i++;

    var content = "i=" + ii ;

    mnmxmlhttp = new myXMLHttpRequest ();
    if (mnmxmlhttp) {
            mnmxmlhttp.open ("POST", myUrl, true);
            mnmxmlhttp.setRequestHeader ('Content-Type',
                      'application/x-www-form-urlencoded');

            mnmxmlhttp.send (content);
            errormatch = new RegExp ("^ERROR:");

            target2 = document.getElementById (myDiv);

            mnmxmlhttp.onreadystatechange = function () {
                if (mnmxmlhttp.readyState == 4) {
                    mnmString = mnmxmlhttp.responseText;

                    if (mnmString.match (errormatch)) {
                        mnmString = mnmString.substring (6, mnmString.length);

                        target = document.getElementById (myDiv);
                        target2.innerHTML = mnmString;

                    } else {
   
                        target = document.getElementById (myDiv);
                        target2.innerHTML = mnmString;
                    }
                }
            }
        }

    setTimeout('ajax_update(\'' + myUrl + '\',\'' + myDiv + '\',\'' + rate + '\');', rate);
}

</script>


<?php header('Content-Type: text/html; charset=ISO-8859-1');?>
</head>

<body onload="ajax_update('/vis.php','content',1000);ajax_update('/ajax.php','general',2000);">
<div id="content"></div>

</body>
</html>
Avatar billede erikjacobsen Ekspert
12. juni 2009 - 20:06 #1
Put
  target2 = document.getElementById ('content');
ind i din anonyme funktion
Avatar billede maxiz Nybegynder
12. juni 2009 - 20:12 #2
hvilken anonymon funktion :)
Avatar billede maxiz Nybegynder
12. juni 2009 - 20:15 #3
anonym* ;)
Avatar billede erikjacobsen Ekspert
12. juni 2009 - 20:43 #4
Den funktion, der ikke direkte har fået et navn. Noget i retning af

mnmxmlhttp.onreadystatechange = function () {
                if (mnmxmlhttp.readyState == 4) {
                    mnmString = mnmxmlhttp.responseText;

                    if (mnmString.match (errormatch)) {
                        mnmString = mnmString.substring (6, mnmString.length);

                        target = document.getElementById (myDiv);
                        target2.innerHTML = mnmString;

                    } else {
 
                        target = document.getElementById (myDiv);
  target2 = document.getElementById ('content');
                        target2.innerHTML = mnmString;
                    }
                }
Avatar billede maxiz Nybegynder
12. juni 2009 - 21:00 #5
mange tak :) men loadingen opføre sig rimelig underligt.. har du et forslag til hvilken reload-tid den skal stå på for at det vil blive vist korrekt:

<body onload="ajax_update('/vis.php','content',1000);ajax_update('/ajax.php','general',2000);">


- husk at skriv svar :D
Avatar billede erikjacobsen Ekspert
12. juni 2009 - 21:09 #6
Jeg samler slet ikke på point, tak.

Du må beskrive hvad du mener med "rimelig underligt"
Avatar billede maxiz Nybegynder
12. juni 2009 - 21:19 #7
Jeg mener at ajax siden loader forkert på en eller anden måde med hensyn til tidsintervallerne, sådan at der nogen gange kommer til at blinke på grund af at siden ikke fanger noget
Avatar billede erikjacobsen Ekspert
12. juni 2009 - 21:46 #8
Svært at sige uden at se det. Men det kan være din browser bliver "træt", når du opretter et XMLHttpRequest.object hvert sekund, eller der går kage i det, hvis en forespørgsel tager mere end eet sekund, så du har to aktive, eller ...
Avatar billede majbom Novice
14. juni 2009 - 20:25 #9
umiddelbart tror jeg at du har været for urtig erik

spørger har følgende linje:

target2 = document.getElementById (myDiv);

længer oppe, mon ikke det bare er den der skal rettes til:

target2 = document.getElementById('myDiv');

?
Avatar billede majbom Novice
04. november 2010 - 12:44 #10
problem løst?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester