Gå til innhold

getElementById(String) funker ikke i Opera.... What now??


Anbefalte innlegg

Skrevet

Prøver med javascript å tilordne en verdi til et hidden field på denne måten:


document.getElementById("mittSkjulteFelt").value = minVerdi;

 

I html koden har jeg da noe liknende dette:


<input type="hidden" id="mittSkjulteFelt">.

 

Dette funker flott i ie, men gir scriptfeil i Opera.

Noen ideer om hva jeg kan bruke?

Videoannonse
Annonse
Skrevet

Ja... ikke sant? Men noe forslag hadde du ikke...

Men om noen er intressert fungerte dette i begge browsere:


eval('document.all.mittSkjulteFelt').value = minVerdi;

Skrevet
Kva for Opera-versjon? Kva er skript-feilen?

Så langt eg kan sjå funkar det fint i dei versjonane eg har prøvd.

 

Har Opera 7.11 build 2887.

Du kan jo teste dette scriptet.

Da rabler det litt for Opera vettu...

 

Da jeg hentet et objekt fra en side med getElementById(), slik:

document.getElementById("mittSkjulteFelt").value = minVerdi; 

så skjedde det ingenting.

Men DETTE funker i opera.

alert(document.getElementById("mittSkjulteFelt").value);

Med andre ord kan du hente verdien fra objektet, men ikke endre den!

Go figure...

Skrevet

Funkar fint her med 7.11 - 2887 og siste beta.

Ingen feil i JavaScript console.

 

Den vesle koden under funkar og fint i Opera6, 7.11b og siste beta:


<html>

<head>

<title>getElement</title>

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

<!--

verdi = "nisse";

function update(){

document.getElementById("hidden").value = verdi;

}

function show(){

alert(document.getElementById('hidden').value);

}

//-->

</script>





</head>

<body>

<form>

<input type="button" value="update" onclick="update()"/>

<input type="button" value="show" onclick="show()"/>

<input type="hidden" id="hidden" value="hei">

</form>

</body>

</html>

Skrevet

Snodige greier.

Test-scriptet ditt funker hos meg også.

 

Det som gjør det ekstra vanskelig er at jeg ikke får noe scriptfeil, det skjer bare ikke noe.

Etter litt "alert()-debugging" i scriptet mitt fant jeg ut at opera går ut av scriptet etter tilordningen til det første getElementById() objektet.

Byttet ut setningen med eval(), og da funket det.

Begge deler funker derimot perfekt i ie.

 

Kikket også litt på internett, og fant denne artikkelen:

http://www.jwweb.com/20010824.html

Tydeligvis flere som har hatt problemet.

Skrevet

Så du har altså noko slikt som dette:


document.getElementById("hidden1").value = verdi1;

document.getElementById("hidden2").value = verdi2;

?

 

Kan du ikkje poste litt meir av koden din, så blir det litt lettare å sjekke.

 

Forresten eit lite tips eg har hatt nytte av:

I Opera kan du skrive inn "opera.postError(var)" i scriptet og få output til JavaScript konsollet. (litt mindre kjipt enn alert())

Skrevet

Vel...Gidder ikke å bruke mer tid på dette så lenge eval() fungerer i alle browsere.

Men, allikevel, takker for hjelp og velvilje!

 

Om du er nysj, sender jeg deg en url hvor du kan se det i aksjon.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...