Avatar billede steen-h Mester
25. november 2005 - 14:53 Der er 10 kommentarer og
1 løsning

javascript kald fra php , Mozilla

Hej

Jeg har problemer med nedenstående, det er en del af en menu.
Jeg har en menu med hovedpungter, der er der et + eller - som er aktiv afhængig af om underpungterne vises. Det virker fint i IE men ikke i Mozilla.
Nedenstående er den del som udskriver + eller - mener det er der problemet er.

  echo "<br /><img border=0 height=\"9\" id=\"".$text."pic\" onclick=\"lag('".$text."lag',document.images['".$text."pic'])\" src=\"./img/menu/".$pic.".png\" width=\"9\"></img> <span class=\"menutopic\">".$text."</span><br />
      <div id=\"".$text."lag\" style=\"DISPLAY: ".$display."\">";

Er der en som kan hjælpe med det.
Følgende er kald til javascript, mener det er det som ikke virker.
onclick=\"lag('".$text."lag',document.images['".$text."pic'])

MVH Steen
Avatar billede skovenborg Nybegynder
25. november 2005 - 15:58 #1
Det er nu nok nærmere lag-funktionen den er gal med. Prøv at vise den istedet ;-)
Avatar billede steen-h Mester
25. november 2005 - 16:04 #2
Den er her.

function lag(lagnavn, bil) {

  if (document.all[lagnavn].style.display == 'none') {
    document.all[lagnavn].style.display = 'block';
    bil.src = './img/menu/minus.png';
  } else {
    document.all[lagnavn].style.display = 'none';
    bil.src = './img/menu/plus.png';
  }
  SetCookie(lagnavn, document.all[lagnavn].style.display);
}
Avatar billede psykochicken Nybegynder
25. november 2005 - 16:10 #3
hvordan ser funktionen lag(noget,noget) ud ?
Avatar billede skovenborg Nybegynder
25. november 2005 - 16:12 #4
ah ja, det er den "gode" gamle document.all der er på spil igen ;-)

Mozilla understøtter nemlig ikke document.all (og kommer aldrig til det), så du bør altid bruge den standardiserede document.getElementById istedet:
function lag(lagnavn, bil) {
  var elm = document.getElementById(lagnavn).style;
  if (elm.display == 'none') {
    elm.display = 'block';
    bil.src = './img/menu/minus.png';
  } else {
    elm.display = 'none';
    bil.src = './img/menu/plus.png';
  }
  SetCookie(lagnavn, elm.display);
}
Avatar billede psykochicken Nybegynder
25. november 2005 - 16:12 #5
hov...for sent ;o)
Avatar billede steen-h Mester
25. november 2005 - 16:19 #6
Tak for det, det er godt at jeg har Eksperten.

Skovenborg, lægger du et svar.
Avatar billede skovenborg Nybegynder
25. november 2005 - 17:14 #7
værgsågod :-)
Avatar billede steen-h Mester
25. november 2005 - 17:16 #8
Vil du også lige rette den er for mig, bruges også i menuen.

function cookiework(name){
  var lag = name + 'lag';
  var pic = name + 'pic';
  var cookie = GetCookie(lag);
  if (cookie == 'none') {
    document.all[lag].style.display = 'none';
    document.images[pic].src = './img/menu/plus.png';
  } else if (cookie == 'block') {
    document.all[lag].style.display = 'block';
    document.images[pic].src = './img/menu/minus.png';
  }
}
Avatar billede skovenborg Nybegynder
25. november 2005 - 17:35 #9
det er (stort set) det samme som før faktisk:
function cookiework(name){
  var lag = name + 'lag';
  var pic = name + 'pic';
  var cookie = GetCookie(lag);
  if (cookie == 'none') {
    document.getElementById(lag).style.display = 'none';
    document.images[pic].src = './img/menu/plus.png';
  } else if (cookie == 'block') {
    document.getElementById(lag).style.display = 'block';
    document.images[pic].src = './img/menu/minus.png';
  }
}

Bare husk: document.all - fyfy. document.getElementById - jatak (ellers yes sir! hvis du er med på den vogn ;-)
Avatar billede steen-h Mester
25. november 2005 - 17:45 #10
Det kan jeg godt se nu, troede der også var noget med document.images

Ved ikke helt hvad den funktionen laver, det er noget med hovedpunkterne, men det gav ikke problemer før, var mest for god ordens skyld.

Du skal have mange tak.
Avatar billede skovenborg Nybegynder
25. november 2005 - 17:52 #11
det var så lidt - og tak for points :-)
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