/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
style.display = "none" fejler i IE7 men ik~
Fra : MooreHojer


Dato : 08-10-08 17:31

Hej NG

Jeg bruger lidt javascript til at manipulere indholdet (visningen) af min side og det virker alt sammen fint i FF3, men når jeg tager det over i IE7 så virker det ikke længere.

Følgende giver en fejl i IE:
errormsg_password.style.display = "none";

Den siger at:
Egenskaben display kunne ikke hentes. Ugyldigt argument.
Kode 0


Nogen der kan hælpe mig på vej?

Arbejder på at kunne give jer et link men siden er pt. password-beskyttet så det skal jeg lige finde en måde at komme udenom...

--
MooreHojer

 
 
Christian Hansen (08-10-2008)
Kommentar
Fra : Christian Hansen


Dato : 08-10-08 19:34

MooreHojer wrote:
> Hej NG
>
> Jeg bruger lidt javascript til at manipulere indholdet (visningen) af
> min side og det virker alt sammen fint i FF3, men når jeg tager det over
> i IE7 så virker det ikke længere.
>
> Følgende giver en fejl i IE:
> errormsg_password.style.display = "none";

Hvad er errormsg_password ? er det et object af typen HTMLElement? (
eksempelvis en div?

Det kunne være fint, hvis du kunne medtage den del af koden, hvor
errormsg_password defineres.

Mvh christian

--
Christian Hansen
http://www.resource-it.dk/

MooreHojer (08-10-2008)
Kommentar
Fra : MooreHojer


Dato : 08-10-08 19:48

> Det kunne være fint, hvis du kunne medtage den del af koden, hvor
> errormsg_password defineres.

Du finder koden i linkene fra mit andet indlæg (postet efter dit)

--
MooreHojer

MooreHojer (08-10-2008)
Kommentar
Fra : MooreHojer


Dato : 08-10-08 19:47

> Arbejder på at kunne give jer et link men siden er pt.
> password-beskyttet så det skal jeg lige finde en måde at komme udenom...

Siden kan ses her:
http://moorehojer.dk/basic/version1/backend/default.php?page=createProfile

Den relevante JavaScript kode ligger her:
http://moorehojer.dk/basic/version1/backend/createProfile/createProfile.js.php

Den kode der fejler er chooseUsername() som erden nederste funktion i filen.


Fejlen opstår når jeg ændre checkboxen 'Let user choose on activation'

--
MooreHojer

Stig Johansen (08-10-2008)
Kommentar
Fra : Stig Johansen


Dato : 08-10-08 20:01

MooreHojer wrote:

> Siden kan ses her:
> http://moorehojer.dk/basic/version1/backend/default.php?page=createProfile

Hmm.. giver:
PHP Notice: Undefined index: userID in D
\Domains\moorehojer\wwwroot\basic\version1\backend\default.php on line 62
PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
result resource in D
\Domains\moorehojer\wwwroot\basic\version1\backend\default.php on line 64

--
Med venlig hilsen
Stig Johansen

MooreHojer (08-10-2008)
Kommentar
Fra : MooreHojer


Dato : 08-10-08 20:49

> Hmm.. giver:
> PHP Notice: Undefined index: userID

sorry.. er rettet

Stig Johansen (08-10-2008)
Kommentar
Fra : Stig Johansen


Dato : 08-10-08 23:06

MooreHojer wrote:

>> Hmm.. giver:
>> PHP Notice: Undefined index: userID
>
> sorry.. er rettet

Jeg har prøvet i min gamle Konqueror,FF3 samt IE6.
Det virker i Konqueror og FF, men ikke i IE6.

IE6 giver dog ingen fejl - der sker bare ikke noget ved ændring af
checkboxen.

Måske er det IE7 specifikt (har ikke IE7).

--
Med venlig hilsen
Stig Johansen

Birger Sørensen (08-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 08-10-08 23:03

MooreHojer forklarede den 08-10-2008:
>> Arbejder på at kunne give jer et link men siden er pt. password-beskyttet
>> så det skal jeg lige finde en måde at komme udenom...
>
> Siden kan ses her:
> http://moorehojer.dk/basic/version1/backend/default.php?page=createProfile
>
> Den relevante JavaScript kode ligger her:
> http://moorehojer.dk/basic/version1/backend/createProfile/createProfile.js.php
>
> Den kode der fejler er chooseUsername() som erden nederste funktion i filen.
>
>
> Fejlen opstår når jeg ændre checkboxen 'Let user choose on activation'

Umiddelbart, er der ikke noget galt med din kode, som også virker i FF,
uden at FireBug brokker sig.
Der er 3 XHTML valideringsfejl (hvorfor XHTML, når du ikke skriver i
XHTML?)

Jeg har oplevet at IE har den slags problemer, fordi M$ anvender
JScript og ikke javascript.
JScript kender elementet 'errormsg_password' i forvejen. Du finder
elementet igen, og kalder det samme navn, og jeg tror det kan give
problemer, selv om det ikke burde. Prøv at ændre navnene på de lokale
variable, og se om det gør en forskel.

Her kommer fejlen ikke når checkboxen ændres, men når checkboxen skal
checkes via labelen, ikke når check fjernes.
Men der bliver ikke ændret noget på skærmen - heller ikke når fejlen
ikke kommer.

Det kan måske hænge sammen med display:none, der også i andre
sammenhænge kan være problematisk.
display:none skaber ikke en usynlig box - den skaber slet ikke nogen.
Måske skal du overveje at bruge visibility i stedet...

Birger



MooreHojer (08-10-2008)
Kommentar
Fra : MooreHojer


Dato : 08-10-08 23:53

> Der er 3 XHTML valideringsfejl (hvorfor XHTML, når du ikke skriver i
> XHTML?)

De 3 valideringsfejl er rettet nu
Hvad mener du med 'ikke skriver i XHTML'?


> Jeg har oplevet at IE har den slags problemer, fordi M$ anvender JScript
> og ikke javascript.

Længe leve Bill...


> Prøv at ændre navnene på de lokale
> variable, og se om det gør en forskel.

Det gi'r samme resultat


> Her kommer fejlen ikke når checkboxen ændres, men når checkboxen skal
> checkes via labelen, ikke når check fjernes.
> Men der bliver ikke ændret noget på skærmen - heller ikke når fejlen
> ikke kommer.

Ser ud til at det er det samme her...


> Måske skal du overveje at bruge visibility i stedet...

ok, det kigger jeg da fluks på


--
MooreHojer

MooreHojer (09-10-2008)
Kommentar
Fra : MooreHojer


Dato : 09-10-08 00:14

>> Måske skal du overveje at bruge visibility i stedet...
>
> ok, det kigger jeg da fluks på

Har skiftet display ud med visibility og kan klart bedre lide den.
.... den ser dog heller ikke ud til at virke i IE

Jeg får samme fejl som før bare der nu står 'vivibility' i stedet for 'display'

--
MooreHojer

Jens Peter Karlsen (09-10-2008)
Kommentar
Fra : Jens Peter Karlsen


Dato : 09-10-08 01:37

Så vil det sikkert hjælpe at rette det til 'visibility'.

Regards Jens Peter Karlsen.

On Thu, 09 Oct 2008 01:14:02 +0200, MooreHojer <simon@moorehojer.dk>
wrote:

>Jeg får samme fejl som før bare der nu står 'vivibility' i stedet for 'display'

Stig Johansen (09-10-2008)
Kommentar
Fra : Stig Johansen


Dato : 09-10-08 06:30

"MooreHojer" <simon@moorehojer.dk> wrote in message
news:48ed3ec1$0$90271$14726298@news.sunsite.dk...
> >> Måske skal du overveje at bruge visibility i stedet...
> >
> > ok, det kigger jeg da fluks på
>
> Har skiftet display ud med visibility og kan klart bedre lide den.
> ... den ser dog heller ikke ud til at virke i IE
>
> Jeg får samme fejl som før bare der nu står 'vivibility' i stedet for
'display'

Bortset fra 'smartass kommentarer', så brokker min debugger sig over værdien
af propertien (collapse).
Det kunne se ud som om IE(6) ikke understøtter den.

Du kommer nok ikke uden om at lave noget IE specifikt, men jeg har
eksperimenteret med både display og visibility.

Dette her virker i min IE6, både display og visibility som fremgår af
comment.
(men ikke rigtig i FF)

Lidt afhængig af om du vil påvirke layoutet eller ej, kan du vælge den
metode der passer dig bedst.
Jeg har som sagt ikke IE7, men går ud fra det også vil virke der når det
virker i IE6.

<code snippet>
function chooseUsername()
{
var checkbox = document.getElementById("userChoose");
var credentialRow = document.getElementById("credentialRow");

if(checkbox.checked == true)
{
credentialRow.style.display = 'none' ; // visibility = "hidden";
}
else
{
credentialRow.style.display = '' ; // visibility = "visible";
}
}
</code snippet>
--
Med venlig hilsen/Best regards
Stig Johansen




Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 09:19

Stig Johansen forklarede:
> "MooreHojer" <simon@moorehojer.dk> wrote in message
> news:48ed3ec1$0$90271$14726298@news.sunsite.dk...
>>>> Måske skal du overveje at bruge visibility i stedet...
>>>
>>> ok, det kigger jeg da fluks på
>>
>> Har skiftet display ud med visibility og kan klart bedre lide den.
>> ... den ser dog heller ikke ud til at virke i IE
>>
>> Jeg får samme fejl som før bare der nu står 'vivibility' i stedet for
> 'display'
>
> Bortset fra 'smartass kommentarer', så brokker min debugger sig over værdien
> af propertien (collapse).
> Det kunne se ud som om IE(6) ikke understøtter den.
>
> Du kommer nok ikke uden om at lave noget IE specifikt, men jeg har
> eksperimenteret med både display og visibility.
>
> Dette her virker i min IE6, både display og visibility som fremgår af
> comment.
> (men ikke rigtig i FF)
>
> Lidt afhængig af om du vil påvirke layoutet eller ej, kan du vælge den
> metode der passer dig bedst.
> Jeg har som sagt ikke IE7, men går ud fra det også vil virke der når det
> virker i IE6.
>
> <code snippet>
> function chooseUsername()
> {
> var checkbox = document.getElementById("userChoose");
> var credentialRow = document.getElementById("credentialRow");
>
> if(checkbox.checked == true)
> {
> credentialRow.style.display = 'none' ; // visibility = "hidden";
> }
> else
> {
> credentialRow.style.display = '' ; // visibility = "visible";
> }
> }
> </code snippet>

Det er lidt "irriterende" - fra et bruger synspunkt - at den nederste
del flopper op og ned, afhængig af om den ekstra række er vist eller
ikke vist.

Det kunne se ud somom problemet på een eller anden måde er koblet
sammen med tabeller i IE.
Kunne du prøve at samle dem i en div, og så skjule/vise den div efter
behov, i stedet for at skulle manipulere tr'er og td'er?

Birger



MooreHojer (09-10-2008)
Kommentar
Fra : MooreHojer


Dato : 09-10-08 12:25

> Det kunne se ud somom problemet på een eller anden måde er koblet sammen
> med tabeller i IE.
> Kunne du prøve at samle dem i en div, og så skjule/vise den div efter
> behov, i stedet for at skulle manipulere tr'er og td'er?

Har lige hurtigt smidt tabellen med brugernavn og password ind i en div og sætter visibility på den.
Det ser ud til at virke i FF og næsten i IE.

Grund til at siger 'næsten' er at:
   -Den reagere ikke på at man klikker directe på checkboxen, kun labelel
   -Den ser ud til at opføre sig modsat af FF (og intensionen) så den viser indholdet når der *er* et flueben
   -Når den viser indholdet og jeg klikker på det så forsvinder der....

--
MooreHojer

Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 12:36

MooreHojer kom med følgende:
> Grund til at siger 'næsten' er at:
>    -Den reagere ikke på at man klikker directe på checkboxen, kun labelel
>    -Den ser ud til at opføre sig modsat af FF (og intensionen) så den viser
> indholdet når der *er* et flueben
>    -Når den viser indholdet og jeg klikker på det så forsvinder der....

onchange kaldes først når elementet forlades og kun hvis der faktisk er
ændret på indholdet.

For at få umiddelbar reaktion, skal man bruge onclick, onkeydown,
onkeyup, etc.

Birger



MooreHojer (09-10-2008)
Kommentar
Fra : MooreHojer


Dato : 09-10-08 12:53

> onchange kaldes først når elementet forlades og kun hvis der faktisk er
> ændret på indholdet.
>
> For at få umiddelbar reaktion, skal man bruge onclick, onkeydown,
> onkeyup, etc.

en ændring af onChange til onClick fik det til at virke i begge browsere... tusind tak for det

--
MooreHojer

Stig Johansen (09-10-2008)
Kommentar
Fra : Stig Johansen


Dato : 09-10-08 14:58

Birger Sørensen wrote:

> Stig Johansen forklarede:
>> Lidt afhængig af om du vil påvirke layoutet eller ej, kan du vælge den
>> metode der passer dig bedst.
>> Jeg har som sagt ikke IE7, men går ud fra det også vil virke der når det
>> virker i IE6.
>>
>> <code snippet>
>> function chooseUsername()
>> {
>> var checkbox = document.getElementById("userChoose");
>> var credentialRow = document.getElementById("credentialRow");
>>
>> if(checkbox.checked == true)
>> {
>> credentialRow.style.display = 'none' ; // visibility = "hidden";
>> }
>> else
>> {
>> credentialRow.style.display = '' ; // visibility = "visible";
>> }
>> }
>> </code snippet>
>
> Det er lidt "irriterende" - fra et bruger synspunkt - at den nederste
> del flopper op og ned, afhængig af om den ekstra række er vist eller
> ikke vist.
>
> Det kunne se ud somom problemet på een eller anden måde er koblet
> sammen med tabeller i IE.
> Kunne du prøve at samle dem i en div, og så skjule/vise den div efter
> behov, i stedet for at skulle manipulere tr'er og td'er?

Jeg er ikke 100% sikker på hvem du svarer her.
Men jeg angav 2 løsninger til IE(6), display og hidden, som begge 'virker'.

Den ene hopper, og den anden skifter mellem synlig og usynlig - ingen af
dem, synes jeg, er brugervenlig.

Hvis det var mig, ville jeg nok arbejde hen imod en løsning med
enabled/disabled, eller 'grået ud'/'greyed out', som nogen måske ville
kalde det.

Men det er ikke mit projekt.

--
Med venlig hilsen
Stig Johansen

Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 18:06

Stig Johansen frembragte:
>
> Jeg er ikke 100% sikker på hvem du svarer her.
> Men jeg angav 2 løsninger til IE(6), display og hidden, som begge 'virker'.
>
> Den ene hopper, og den anden skifter mellem synlig og usynlig - ingen af
> dem, synes jeg, er brugervenlig.
>
> Hvis det var mig, ville jeg nok arbejde hen imod en løsning med
> enabled/disabled, eller 'grået ud'/'greyed out', som nogen måske ville
> kalde det.
>
> Men det er ikke mit projekt.

Svaret var til MooreHojer :')
Jeg har ikke testet dine forslag, men så en anden mulighed i at få
tingene samlet, så det ikke er nødvendigt at tilpasse til browsere.
Kommentaren var lidt en tilskyndelse til at bruge visibility, da
display påvirker hele layoutet, og dermed rykker rundt på andre ting på
siden.

En løsning med enable/disable, ville IMHO være elegant.
Men det er jo heller ikke mit projekt

Birger



Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 09:04

MooreHojer kom med følgende:
>> Der er 3 XHTML valideringsfejl (hvorfor XHTML, når du ikke skriver i
>> XHTML?)
>
> De 3 valideringsfejl er rettet nu
> Hvad mener du med 'ikke skriver i XHTML'?
>


Venligt dril.
Fejlene skyltes XHTML specifikke krav - at din kode var HTML ikke
XHTML.

Birger



Jens Peter Karlsen (09-10-2008)
Kommentar
Fra : Jens Peter Karlsen


Dato : 09-10-08 01:59

Endnu en der synes at det er "cool" at han (næsten) helt selv har
fundet på at skrive M$ i stedet for MS (Tihii, fnis).

Til din orientering taler man i dag om ECMAScript som er den
standardiserede version af Javascript. Jscript er Microsofts
implementering af ECMAScript.

Regards Jens Peter Karlsen.

On Thu, 09 Oct 2008 00:03:21 +0200, Birger Sørensen
<sdc@bbsorensen.com> wrote:

>Jeg har oplevet at IE har den slags problemer, fordi M$ anvender
>JScript og ikke javascript.

Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 09:37

Jens Peter Karlsen formulerede torsdag:
> Endnu en der synes at det er "cool" at han (næsten) helt selv har
> fundet på at skrive M$ i stedet for MS (Tihii, fnis).

Jeg har brugt M$ som forkortelse for Microsoft siden en gang midt i
'90'erne..
Det er da fint, hvis du syntes det er cool. Men det er nu ikke noget
jeg har fundet på. Hvem der skal have den ære, ved jeg heller ikke.
Hvis det gør en forskel for dig, så prøv google..

> Til din orientering taler man i dag om ECMAScript som er den
> standardiserede version af Javascript. Jscript er Microsofts
> implementering af ECMAScript.

Jo, det var det, det handlede om:
At JScript gør visse ting forskelligt fra de andre implementeringer af
ECMAScript, som af de fleste kaldes javascript.
(Man kunne måske drage paraller til M$'s implementering af øvrige
standarder..)

> Regards Jens Peter Karlsen.

Var der en mening med dit indlæg?

Birger



Jens Peter Karlsen (09-10-2008)
Kommentar
Fra : Jens Peter Karlsen


Dato : 09-10-08 02:22

Du har: var checkbox...
checkbox er et reserveret navn. Brug noget andet.

Desuden er dit script til at checke sværhedsgrad på password dårligt.
Lav et password der validerer til godt, tilføj så et lowercase bogstav
til slut og vupti sværhedsgraden er nede på meget ringe.
Det ligner en om'er.

Regards Jens Peter Karlsen.

On Wed, 08 Oct 2008 20:47:23 +0200, MooreHojer <simon@moorehojer.dk>
wrote:

>Den relevante JavaScript kode ligger her:
>http://moorehojer.dk/basic/version1/backend/createProfile/createProfile.js.php
>
>Den kode der fejler er chooseUsername() som erden nederste funktion i filen.

MooreHojer (09-10-2008)
Kommentar
Fra : MooreHojer


Dato : 09-10-08 12:16

Jens Peter Karlsen wrote:
> Du har: var checkbox...
> checkbox er et reserveret navn. Brug noget andet.

det gjorde desværre ingen forskel...


--
MooreHojer

Birger Sørensen (09-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 09-10-08 12:45

Jens Peter Karlsen forklarede den 09-10-2008:
> Du har: var checkbox...
> checkbox er et reserveret navn. Brug noget andet.
>
> Desuden er dit script til at checke sværhedsgrad på password dårligt.
> Lav et password der validerer til godt, tilføj så et lowercase bogstav
> til slut og vupti sværhedsgraden er nede på meget ringe.
> Det ligner en om'er.
>
> Regards Jens Peter Karlsen.
>
> On Wed, 08 Oct 2008 20:47:23 +0200, MooreHojer <simon@moorehojer.dk>
> wrote:
>
>> Den relevante JavaScript kode ligger her:
>> http://moorehojer.dk/basic/version1/backend/createProfile/createProfile.js.php
>>
>> Den kode der fejler er chooseUsername() som erden nederste funktion i filen.

Hvorfor skulle checkbox være et reserveret navn?

http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Reserved_Words

Birger



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409075
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste