Probleme bei der Datenkonvertierung ?
Stephan
- javascript
0 Calocybe0 Stephan0 Antje Hofmann0 Stephan
Hallo ! :-)
Ich habe da ein Problem. Und zwar habe ich eine Funktion die wie
folgt aufgerufen wird :
<select name="auswahl" size="1"
onChange="PictureLoader(auswahl.options.selectedIndex)">
Die Funktion sieht folgendermaßen aus ... (bisher) ...:
function PictureLoader (auswahlstring)
{
/\* Variablen deklarieren \*/
var dateiname;
/\*
Hier wird der Dateiname erzeugt und formatiert.
Format des Dateinames : bild_xxx.jpg
*/
alert (auswahlstring);
switch (auswahlstring.length)
{
case "1": dateiname = "bild_00" + auswahl + ".jpg";
break;
case "2": dateiname = "bild_0" + auswahl + ".jpg";
break;
case "3": dateiname = "bild_" + auswahl + ".jpg";
break;
default: dateiname = "Fehler ! " + auswahlstring.length;
break;
}
alert (dateiname);
/\* Quelltext wird hier fortgesetzt .... \*/
}
Aus dem Index der an die Funktion übergeben wird, erstellt die
Funktion einen Dateinamen. Die Switch-Funktion verzweigt immer
direkt in den Punkt "default", gibt mir also die Länge der
Variable "auswahlstring" aus (sollte). Dies ist aber nicht der
Fall. Stattdessen bekomme ich immer wieder die Meldung "undefined".
Ich habe schon versucht, mit dem Befehl "String" den Datentypen
ggf. zu konvertieren. Ohne Erfolg.
Wieso ist auswahlstring.length "undefined" ??
Kann mir jemand weiterhelfen ??
Wäre dankbar ...
Greetz .. Stephan !
Hallo ! :-)
Du hast den selectedIndex falsch abgefragt. Wie man das richtig macht, findest Du auf <../../tecbbdaa.htm#a1>.
Wenn Du das geloest hast, wird's aber trotzdem nicht funzen, weil die Funktion den 'auswahlstring' erwartet, Du aber den selectedIndex uebergibst, welcher dann ebenfalls einen falschen Wert fuer .length zurueckliefern wird. Deshalb uebergib entweder die options.text Eigenschaft (<../../tecbbdaa.htm#a8>) oder stelle den Text innerhalb der Funktion anhand des Index fest.
Sorry fuer die knappe Antwort, aber ich bin heute schon etwas muede.
Bye by Calocybe
Erstmal sorry für die drei Topics. War irgendwie verzweifelt ! ;-)
Bastel da schon länger dran ...
Das Problem ist, daß ich den selectedindex für die Nummerrierung der Dateinamen
verwenden will. Ich habe da ein Fotoalbum. Und mich hat es immer genervt, daß ich
wenn ich ein Bild anlege dieses in eine extra-HTML-Datei mit nummerrierung und
Beschreibung packen mußte, damit es nach was aussah. Siehe hier :
[Adresse entfernt, d.Red.]
Nur hatte ich die Idee, daß ich den Text der optionsbox gleich für eine Beschreibung
des Bildes nutzte. (Wird später in einer HTML-Datei angezeigt).
Und ich dachte den selectedindex kann ich zur nummerrierung nutzen. So wäre der
spätere aufwandt sicher am geringsten, wenn ich ein Fotoalbum anlegen will.
Eine weitere möglichkeit wäre bistimmt mit der "value" der optionsbox zu arbeiten.
Aber ich wollt wenn möglich alles "automatisieren"
Gibt es da vielleicht ne lösung mit dem selectedindex oder ähnlichem ?
Danke !
Greetz .. Stephan !
Das Problem ist, daß ich den selectedindex für die Nummerrierung der Dateinamen
verwenden will. Ich habe da ein Fotoalbum. Und mich hat es immer genervt, daß ich
wenn ich ein Bild anlege dieses in eine extra-HTML-Datei mit nummerrierung und
Beschreibung packen mußte, damit es nach was aussah. Siehe hier :http://www.ndh.net/home/tijink/
Nur hatte ich die Idee, daß ich den Text der optionsbox gleich für eine Beschreibung
des Bildes nutzte. (Wird später in einer HTML-Datei angezeigt).
Hallo Stephan,
so richtig habe ich nicht kapiert, was du eigentlich erreichen willst. Ich fasse mal zusammen, was ich verstanden habe:
Du möchtest im Endeffekt erreichen, daß du in einer HTML-Datei die Bilder nach einer Auswahl in der Auswahlbox getauscht werden oder? Also immer die gleiche Seite nur mit verschiedenen Bildern und eventuell eine gesonderte Textanzeige zu jedem Bild.
Wenn ich richtig liege sage hier im Forum Bescheid, denn dann gibt es für dein Problem eine recht einfache Lösung.
Viele Grüße
Antje
Ja ... genau das ist des ... du bist ein gott .... ;-))
*aufdiekniefall* *g*
Wäre für jede Hilfe total Dankbar !
Greetz .... Stephan !
Hallo Stephan,
Ja ... genau das ist des ... du bist ein gott .... ;-))
aber aber ich bin weiblich <g>
Nun zur Frage, wenn ich es richtig sehe, übergibst du gegenwärtig den Auswahlstring an die Bildertauschfunktion und gehst dann in die Fallunterscheidung. Mache es umgekehrt. Schreibe eine sepeate Bildertauschfunktion. Rufe bei der Auswahl gleich die Fallunterscheidung auf.
Etwa so Wahl(this.form.Auswahl1.options[this.form.Auswahl1.options.selectedIndex].value)
In Wahl (deine Fallunterscheidung) kannst du dann ganz beliegbig diesen Wert weiterverarbeiten.
Innerhalb der Fallunterscheidungen rufst du dann die Bildertauschfunktion mit den passenden Parametern auf.
Möchtest du noch passenden Text angezeigt haben, bietet sich ein Textarea an. Dieses belegst du dann beim Aufruf
des gewünschten Bildes mit dem zugehörigen Text, ebenfalls innerhalb der Fallunterscheidung.
Also case "1": {Bildtausch(bild1);Text(Text1);break}
Ein kleiner Hinweis noch, jeder Fall kann mehrere Befehle hintereinander abarbeiten, wenn diese in geschweifte Klammern eingefaßt sind.
Ich hoffe das reicht dir erst mal als Ansatz.
Viele Grüße
Antje
Hallo Antje!
Ja ... genau das ist des ... du bist ein gott .... ;-))
aber aber ich bin weiblich <g>
Wobei sich natuerlich die Frage stellt, wer ueberhaupt gesagt hat, dass (ein) Gott maennlich sein muss. Aber vielleicht liegt da auch irgendwie das Patriarchat begruendet, oder Patriarchat und die Gott-ist-maennlich-Vorstellung sind zwei Folgen derselben Ursache.
Also case "1": {Bildtausch(bild1);Text(Text1);break}
Ein kleiner Hinweis noch, jeder Fall kann mehrere Befehle hintereinander abarbeiten, wenn diese in geschweifte Klammern eingefaßt sind.
Das geht auch ohne die geschweiften Klammern. Nur deshalb brauchst Du ja das break, weil sonst immer weitergerauscht werden wuerde. (Jedenfalls ist es so in C, und ich poste das mal so unueberprueft, weil ich ziemlich sicher bin, dass es in JS auch so ist.) More information on this at <../../tebg.htm#a3>.
Bye by Calocybe