selektierte Elemente auslesen
BoFiaZ
- javascript
Hallo,
ich möchte den selektierten Wert einer Selectbox in ein im gleichen Formular enthaltenes Textfeld schreiben. Habe es bereits mit:
onChange="javascript:alert(document.getElementById('mgallerie').options[document.getElementById('mgallerie').selectedIndex].value);"
probiert, aber da kommt die Meldung:
Fehler: document.getElementById("mgallerie") has no properties
Was mache ich falsch?
onChange="javascript:alert(document.getElementById('mgallerie').options[document.getElementById('mgallerie').selectedIndex].value);"
Wozu das Label 'javascript'?
Rufst du den Handler in dem Select Element auf?
Dann kannst du mit this arbeiten.
probiert, aber da kommt die Meldung:
Fehler: document.getElementById("mgallerie") has no properties
Was mache ich falsch?
Das was da steht, es gibt kein Element mit der id 'mgallerie' folglich kannst du nicht darauf zugreifen.
Struppi.
Ja, ich rufe das ganze im Select-Element auf... zurückgegeben wird garnix, habe es so probiert:
<select name="xyz" size="1" onChange="alert(document.getElementById('xyz');">
<option value="1">Eins
<option value="2">Zwei
<option value="3">Drei
</select>
falsch? offensichtlich denn es kommt folgende Meldung:
Fehler: missing ) after argument list
Quelltext:
alert(document.getElementById('xyz');
Ich kann damit leider nix anfangen... was ist falsch? Mit javascript: und this statt javascript habe ich es bereits ausprobiert, immer das gleiche...
Hi,
<select name="xyz" size="1" onChange="alert(document.getElementById('xyz');">
falsch? offensichtlich denn es kommt folgende Meldung:
Fehler: missing ) after argument list
Wo machst Du den alert zu?
alert(document.getElementById('xyz');
Das muß natürlich schiefgehen, dein select hat zwar ein name-Attribut, dessen Wert mit der von Dir gesuchten id übereinstimmt, aber _keine_ id.
cu,
Andreas
Ja, ich rufe das ganze im Select-Element auf... zurückgegeben wird garnix, habe es so probiert:
<select name="xyz" size="1" onChange="alert(document.getElementById('xyz');">
Dann laß dir mal alert(this.value) oder wenn genau sein willst
alert(this.options[this.selectedIndex].value)
ausgeben.
Struppi.
Liebe(r) BoFiaZ,
Was mache ich falsch?
zunächst einmal schreibst Du in ein onclick-Attribut nicht nur reinen javascript-Code (so, wie das gedacht ist), sondern stellst davor noch das für Hyperlinks gedachte Pseudoprotokoll "javascript:", was absolut nicht korrekt ist.
Fehler: document.getElementById("mgallerie") has no properties
Lass Dir doch einmal mit einem alert ausgeben, was document.getElementById("mgallerie")
als Rückgabewert liefert! Sollte es unerwarteterweise nicht das betreffende <select>-Element zurückliefern (sondern vielleicht ein <div> oder <form> als übergeordnetes Element), dann ist klar, warum Dein Code nicht wie erwartet arbeitet.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi,
zunächst einmal schreibst Du in ein onclick-Attribut nicht nur reinen javascript-Code (so, wie das gedacht ist), sondern stellst davor noch das für Hyperlinks gedachte Pseudoprotokoll "javascript:", was absolut nicht korrekt ist.
javascript: ist ein Label - und somit reiner JS-Code - und somit absolut korrekt.
Daß das Label hier absolut sinnfrei ist (und auf den ersten JS-Browsern zu einem Fehler führt, weil die noch kein Label kennen), steht auf einem anderen Blatt.
Gruß, Cybaer
Hallo,
ich möchte den selektierten Wert einer Selectbox in ein im gleichen Formular enthaltenes Textfeld schreiben. Habe es bereits mit:
onChange="javascript:alert(document.getElementById('mgallerie').options[document.getElementById('mgallerie').selectedIndex].value);"
probiert, aber da kommt die Meldung:
Fehler: document.getElementById("mgallerie") has no properties
Was mache ich falsch?
Hallo versuch es mit einer JS-Function:
Einbinden der Funktion im HTML Code:
<script language="Javascript">
function setTextValue(myElem){
document.getElementById("Name des Textfeldes").value=myElem.options[myElem.selectedIndex].text;
return;
}
</script>
Aufruf der Select-Box im HTML Code:
<select onchange="setTextValue(this);">
Gruß
Slaughter
Liebe(r) Slaughter,
<script language="Javascript">
Protest! Dein Tipp ist nur bedingt brauchbar, da Du das type-Attribut unteschlägst, welches aber unerlässlich ist! Das language-Attribut kannste dagegen getrost in die Tonne treten...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Liebe(r) Slaughter,
<script language="Javascript">
Protest! Dein Tipp ist nur bedingt brauchbar, da Du das type-Attribut unteschlägst, welches aber unerlässlich ist! Das language-Attribut kannste dagegen getrost in die Tonne treten...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Ja, da muss ich Dir leider recht geben:
<script type="text/javascript">
ist der korrekt Aufruf.
Gruß
Slaughter
Hi,
Protest! Dein Tipp ist nur bedingt brauchbar, da Du das type-Attribut unteschlägst, welches aber unerlässlich ist!
Unerläßlich für wen? Den Validator. Den Browser nicht.
Wie wäre es mit "Pflichtattribut für HTML 4.x"?
Gruß, Cybaer
Hi,
Fehler: document.getElementById("mgallerie") has no properties
D.h. es gibt kein Element mit dieser Id. Ist in der ID vieleicht die Galerie korrekt mit nur einem l geschrieben?
Oder hat das select-Element gar keine id, sondern nur einen name?
cu,
Andreas