[JS] onChange vorheriger Wert

Bububoomt

ohne Vertrauen
ID: 10361
L
28 April 2006
19.666
769
Kann ich den vorherigen Wert von einem Selectformular bekommen??

Also ich möchte je nach auswahl ein bild anzeigen, und aktuell wird es bei onChange getauscht.

Problem ist, das ich da vorherige Bild kennen müßte, damit ich das auf hidden packe.


Meine Idee war folgende

function doit(name){
verbergen(tmp);
tmp=name;
zeigen(name);
}

aber dann funktioniert es gar nichts.


function doit(name){
verbergen('Bild1');
verbergen('Bild2');
verbergen('Bild3');
verbergen('Bild4');
...
zeigen(name);
}

so geht schon, aber die alle vorher aufliten!? das muß doch net sein!?

aufruf per <select onChnage="doit(this.value)"....
 
Schreib es doch in einen Cookie, oder taugt dir das nicht? den kannst glaub ich beliebig erweitern, und er ist immer da, darfst nur das leeren beim verlassen der Page net vergessen. Aber wenn ich so drüber nachdenke klingt das arg umständlich. Brauchst du nur immer den letzten wert oder alle letzteren Werte?
 
wie soll ich da denn im cookie peichern? wäre aber denke nciht so toll...

ähm wie zwischen speichern??

hatte chon versucht das mit tmp zwischen zu speichern, aber das klappt nicht.
 
Hast du var tmp; denn auch ausserhalb aller Funktionen definiert, damit es global sichtbar ist? Sprich:
PHP:
var tmp;
function onfocus(name) {
  tmp = name;
}
function onchange(name) {
  verbergen(tmp);
  zeigen(name);
}
 
ja hatte ich global definiert, aber sobald ich verbergen(tmp)verwende geht gar nichts mehr :(

also mal die variante die funktioniert

www.ixite.de/onchange

aber halt umständlich, da ich alle bilder vorher verstecke.
 
aber halt umständlich, da ich alle bilder vorher verstecke.

warum lädst du das bild nicht erst wenn es benötigt wird?

PHP:
<select .... onChange="changeImage(this)"><option value="bild1.jpg">Bild 1</option...</select><img id="myChangeImage" src="bild0.jpg">

function changeImage( sel ) {
  var url = sel.options[sel.selectedIndex].value;
  var img = document.getElementById("myChangeImage");
  img.src = url;
}