Button-Text ändern
Andreas Neumeier
- javascript
0 Cruz
Ich hoffe, daß ein Experte unter euch eine Lösung für mich hat. :)
Warscheinlich ist die Lösung sehr trivial. Aber nennt sie mir trotzdem...
Als Preis winken ein Paar dann überflüssig gewordener Tomaten. ;)
Ich suche eine Methode, mit der es möglich ist, den Text eines Buttons zu
ändern. Dies soll sowohl unter MSIE 4.x sowie ab Netscape 4.5 funktionieren.
Als weitere Einschränkung kommt hinzu, daß nur JavaScript und HTML zugelassen
sind.
Der JavaScript-Versuch mittels:
document.EingabeFormular.ButtonName.value = "Neuer Text";
klappt zwar, aber nur mit dem MSIE. Netscape läßt die 'Überlagerung' zwar zu,
werden aber die Window-Maße geändert (redraw), so wird der darunter liegende
Text wieder sichtbar. :(
Meine jetzige Lösung sieht so aus:
Das Browser-Fenster besitzt vier Frames. Frame[0] und [1] sind für mich
persönlich erst mal uninteressant. ;) In Frame[2] befinden sich 8 Editfelder,
3 Radiobuttons und 2 normale Buttons. Button 1 startet eine DB-Anfrage.
Button 2 hat sichtbarerweise keine Funktion. Die DB-Rückgabe wird in Frame[3]
ausgegeben. Mittels *onLoad* in Frame[3] wird ein neuer Frame[2]-Inhalt
angefordert. Der besitzt als einzigen Unterschied für beide Buttons einen neuen
Text. :(
Diese Lösung kollidiert aber mit der Browser-Funktion BackStep. Sie führt zu
einer unschönen Fehlermeldung auf der Server-Seite. Dies läßt sich nur
abstellen, wenn Frame[3] als einziges geändert wird.
Daher schwebt mir vor, daß in Frame[2] ein JavaScript-Teil den Button-Text
ändert. Aber wie...?!?
Wiederluerge, Andreas
Wie wäre es wann du statt dem Button einen input type=image nimmst, und einfach den source beim event änderst. Du kannst ja sogar einen screenshot von den buttons mit den verschiedenen texten machen, dann gibt es keinen optischen unterschied mehr.
Gruß
Cruz