Einfaches Wert setzen funktioniert nicht
Georg
- javascript
Salute!
Ich habe eine Erinnerungsfunktion in einem Terminkalender geschrieben. Dabei gibt es grundsätzlich 2 verschiedenen Möglichkeiten den Tag der Erinnerung auszuwählen. Entweder durch
Eingabe eines exakten Datums (mittels Dropdown) oder über die
Angabe einer Zeitspanne vor dem Termin (evenfalls Dropdown).
Wer will kann ja mal kucken (einfach auf eine Glocke klicken):
http://www.kosel.com/de/ap/2001/6/22.htm
Meine Absicht ist es die Abfrage nach dem Tag der
Erinnerung für den Benutzer etwas komfortabler zu gestalten, indem
ich einen bestimmten Fehler abfange.
Es ist möglich die Dropdowns des exakten Datums zu verändern, aber bei der Art den Zeitraum ausgewählt zu lassen (versteht man am besten wenn man sich das Formular ankuckt).
Jetzt habe ich 2 Funktionen die geschrieben die im Prinzip nix anderes machen sollen, als den Wert des Optionsfeldes "wann" im Formular "frm1" zu setzen.
function doZeitraum() {
if (document.frm1.wann != null) {
document.frm1.wann.value = zeitraum;
}
}
function doDatum() {
if (document.frm1.wann != null) {
document.frm1.wann.value = datum;
}
}
In den Dropdowns steht im einleitenden select-tag als letztes Attribut der Aufruf jeweils einer dieser Funktionen auf den Event-Handler "onChange":
<select name="abstand" onChange="doZeitraum()"><option value="1">1<option value="2" ...
Leider funktioniert das ganze keineswegs so wie ich es mir eigentlich vorstelle. Es tut sich nämlich scheinbar gar nix.
Bin für jeden Tip dankbar.
function doZeitraum() {
if (document.frm1.wann != null) {
document.frm1.wann.value = "zeitraum";
}
Hallo
Die zuweisung eines Stringwertes sollte mit Füßen erfolgen.
Ansonsten weiss ich noch nich ganz genau, was du abfangen willst.
Tschüss Thomas
Hi!
Wer will kann ja mal kucken (einfach auf eine Glocke klicken):
http://www.kosel.com/de/ap/2001/6/22.htm
Wie man in diesem Forum Links setzt, erfaehrst Du auf </selfaktuell/forum/faq/forumsfaq_2.htm#a6>.
function doZeitraum() {
if (document.frm1.wann != null) {
document.frm1.wann.value = zeitraum;
}
}
function doDatum() {
if (document.frm1.wann != null) {
document.frm1.wann.value = datum;
}
}
Auf so einer Seite hinter einer Glocke von http://www.kosel.com/de/ap/2001/6/22.htm habe ich gesehen, dass document.frm1.wann eine Radiobuttonsgruppe ist. Einer solchen Gruppe weist man kein .value zu. Man kann auch keines auslesen (ausser vielleicht beim IE, wer weiss was der wieder fuer komische Sachen macht). Stattdessen kann man einem bestimmten Radiobutton dieser Gruppe sagen, dass er angewaehlt (checked) sein soll:
document.frm1.wann[0].checked := true;
Du findest das unter http://developer.netscape.com/docs/manuals/js/client/jsref/radio.htm nochmal beschrieben.
Weiterhin gibt es auf Deiner Seite keine Variablen namens zeitraum oder datum. Du meinst wahrscheinlich, dass der Radiobutton, dessen .value "zeitraum" bzw. "datum" (das sind Strings!) ist, ausgewaehlt werden soll. Wie das geht, weisst Du ja jetzt.
So long
Auf so einer Seite hinter einer Glocke von http://www.kosel.com/de/ap/2001/6/22.htm habe ich gesehen, dass document.frm1.wann eine Radiobuttonsgruppe ist. Einer solchen Gruppe weist man kein .value zu. Man kann auch keines auslesen (ausser vielleicht beim IE, wer weiss was der wieder fuer komische Sachen macht). Stattdessen kann man einem bestimmten Radiobutton dieser Gruppe sagen, dass er angewaehlt (checked) sein soll:
document.frm1.wann[0].checked := true;
Du findest das unter http://developer.netscape.com/docs/manuals/js/client/jsref/radio.htm nochmal beschrieben.
Weiterhin gibt es auf Deiner Seite keine Variablen namens zeitraum oder datum. Du meinst wahrscheinlich, dass der Radiobutton, dessen .value "zeitraum" bzw. "datum" (das sind Strings!) ist, ausgewaehlt werden soll. Wie das geht, weisst Du ja jetzt.
Zunächst mal vielen Dank für die Zeit, die Du Dir genommen hast.
Das mit dem value versteh' ich jetzt, Dein Lösungsvorschlag liest
sich auch sehr gut. Dumm nur, daß trotzdem nicht funktioniert.
Laut meinem IE ist das Skript jetzt fehlerhaft. Dabei habe ich nur
die Zeile
document.frm1.wann.value = zeitraum;
in
document.frm1.wann[0].checked := true;
geändert.
Hast Du (oder wer anderer) noch ne Idee?
Hallo!
Auf die Gefahr hin, mich lächerlich zu machen - da ist nur ein Doppelpunkt zu viel:
document.frm1.wann[0].checked = true;
tschüß Frosch
...
Auf die Gefahr hin, mich lächerlich zu machen - da ist nur ein Doppelpunkt zu viel:
document.frm1.wann[0].checked = true;
...
Ja!!!
Er war's, der ach so oft Geschmähte ;-)
DANKE!!!