Webstatt.org - Community seit 2006 - 2012 (2024?)

GetElementById is not a function oO

user-343
29.08.2006 18:33

Naja... Ich versuche wieder mal was per JS zu machen. Das Bild soll, ja nach klick, grösser oder kleiner werden.
Die Fehlermeldung, die mir Moz ausspuckt, ist "GetElementById is not a function", die entsprechenden Zeilen im HTML-Code sind:

<img id='Avatar-1' alt='Dein Avatar' src='./images/user-images/thumb-1.jpg' onClick='ChangePic(this.src)' />
<script type="text/javascript">

function ChangePic(src) {
var thumb = '';
var ava = '';
var acctid = 0;
var imgtag = '';
ava = './images/user-images/avatar-1.jpg';
thumb = './images/user-images/thumb-1.jpg';
acctid = 1;

if(src == ava) {
document.GetElementById('Avatar-'+acctid).src = thumb;
}
else {
document.GetElementById('Avatar-'+acctid).src = ava;
}
}
</script>
<noscript>

</noscript>


Irgendwer ne Idee warums nicht geht..? ^^"

Avatar user-182
29.08.2006 18:37

klein schreiben?
also so:
getElementById()

Seid ihr auch schon wix'r? xD
Avatar user-253
29.08.2006 18:40

Das hilft meisstens lächeln
Sicherheitshalber lohnt es auch, abzufragen ob es das Element gibt, ansonsten bricht das JS nämlich komplett ab.

Und natürlich object literal zwinkern

/me ist ein object literal fanboy

user-343
29.08.2006 19:03

Ah... Das doofe g. Okay. Vergrössern geht nun. user-158ke.
Nur verkleinern geht net... Beim klick darauf kommt immer "switch to ava", auch wenn der Avatar bereits angezeigt wird.

<img id='Avatar-1' alt='Dein Avatar' src='./images/user-images/thumb-1.jpg' onClick='ChangePic(this.src)' />
<script type="text/javascript">

function ChangePic(src) {
var thumb = '';
var ava = '';
var acctid = 0;
var imgtag = '';
ava = './images/user-images/avatar-1.jpg';
thumb = './images/user-images/thumb-1.jpg';
acctid = 1;

if(src == ava) {
document.getElementById('Avatar-'+acctid).src = thumb;
alert('Switch to thumb'zwinkern; // Only for debug
}
else {
document.getElementById('Avatar-'+acctid).src = ava;
alert('Switch to ava'zwinkern; // Only for debug
}

}
</script>
<noscript>

</noscript>


Ich hoffe doch schon wieder irgendein doofer Fehler... lächeln Zumindest sind die Strings identisch. Daran müsste es nicht liegen.


@ user-251el: Das Element gibt es immer. Es sei den, der Browser verschluckt was oder mein PHP SCript macht was falsch... zwinkern

Avatar user-253
29.08.2006 19:10

was steht denn in src drin? Ist das vielleicht das ganze Bild und nicht nur der Pfad? Kannst es dir ja einfach mal mit alert(src); ausgeben lassen.

Auch wenn es das immer gibt kostet ja nichts



var element = document.getElementById('Avatar-'+acctid);
if(element) {
if(src == ava) {
element.src = thumb;
alert('Switch to thumb'zwinkern; // Only for debug
} else {
element.src = ava;
alert('Switch to ava'zwinkern; // Only for debug
}
}


user-343
29.08.2006 19:34

Ah.... Daran hab ich noch nicht gedacht. Autsch.
Ja, in der Tat. src ist "http://localhost/motew/images/user-images/avatar-1.jpg" oO


Habs aber nun gelöst. Wenn auch mit einem Trick... *grinst*
Ich missbrauche einfach das alt-Attribut dafür zwinkern

<img id='Avatar-1' alt='Dein Avatar (thumbnail)' src='./images/user-images/thumb-1.jpg' onClick='ChangePic(this.alt)' />

<script type="text/javascript">
function ChangePic(alt) {
var acctid = 1;
var element = document.getElementById('Avatar-'+acctid);
var ava = './images/user-images/avatar-1.jpg';
var thumb = './images/user-images/thumb-1.jpg';

if(element) {
if(alt == "Dein Avatar"zwinkern {
element.src = thumb;
element.alt = "Dein Avatar (thumbnail)";
//alert('Switch to thumb'zwinkern; // Only debug
}
else {
element.src = ava;
element.alt = "Dein Avatar";
//alert('Switch to ava'zwinkern; // Only debug
}
}
}
</script>

<noscript>

</noscript>


// PHP-Code war hier falsch... Nun ists der richtige.