mo: Warum kann Netscape das nicht?

Hallo Leute.

Habe eine kleine Funktion, bei der mittels onChange bei Auswahl eines Select-feldes die Seite sich automatisch aktualisiert.
Funktioniert im iE einwandfrei. Nur Netscape bringt 404 file not found.

Was mache ich verkehrt??

<select name='EndDatumMonat' size='1' class='selectzweier' onChange="top.location.href=this.form.EndDatumMonat.options[this.form.EndDatumMonat.selectedIndex].name">
                            <% for (int m=1; m <= 12; m++) {
                               if (m == intIndexMonatEnde) {  %>
                                 <option selected name=/Urlaubsantrag/datecheck2.jsp?StartDatumTag=<%= strTage[intIndexTag]%>&StartdatumMonat=<%= strMonate[intIndexMonat]%>&EndDatumMonat=<%= strMonate[m] %>&BundesLand=<%= intBundesLand%>' value='<%= strMonate[m] %>'><%= strMonate[m] %></option>
                               <% }
                               else {
                               %>
                                 <option name=/Urlaubsantrag/datecheck2.jsp?StartDatumTag=<%= strTage[intIndexTag]%>&StartDatumMonat=<%= strMonate[intIndexMonat]%>&EndDatumMonat=<%= strMonate[m] %>&BundesLand=<%= intBundesLand%>' value='<%= strMonate[m] %>'><%= strMonate[m] %></option>
                               <% }
                              } %>
                       </select>

Bin für jede Hilfe dankbar

habe übrigens schone jede Art der Pfadangabe versucht: absolut, relativ, pfadrelativ....

Gruß

MO

  1. Huhu MO

    Was mache ich verkehrt??

    »»<option selected name=/Urlaubsantrag/datecheck2.jsp?StartDatumTag=<%= strTage[intIndexTag]%>&StartdatumMonat=<%= strMonate[intIndexMonat]%>&EndDatumMonat=<%= strMonate[m] %>&BundesLand=<%= intBundesLand%>' value='<%= strMonate[m] %>'><%= strMonate[m] %></option>

    • beim Name-Attribut fehlt das öffnende Tüttelchen.
    • dieses müsste wohl auch eher ein Value-Attribut sein
    • Das derzeitige Value-Attribut wäre dann also überflüssig

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
      • beim Name-Attribut fehlt das öffnende Tüttelchen.
      • dieses müsste wohl auch eher ein Value-Attribut sein
      • Das derzeitige Value-Attribut wäre dann also überflüssig

      ....

      Huhu Lulu

      Oki...das war es aber nicht.
      Und das Value-Attribut brauche ich für das eigentliche Formular.

      Die Funktion ist folgende:
      Der Benutzer wählt den Monat aus, und automatsch aktualisiert sich das ganze Formular mit der richtigen Anzahl an Tagen für das Auswahlfeld des Tages....oder so.

      Und wie gesagt...im iE geht es einwandfrei.

      Kann dir das komplette Formular leider nicht zeigen, da es bei uns im Intranet steht.

      Gruß

      MO

      1. Moin!

        Oki...das war es aber nicht.
        Und das Value-Attribut brauche ich für das eigentliche Formular.

        <option> kennt kein Name-Attribut - du mußt es weglassen.

        Die Funktion ist folgende:
        Der Benutzer wählt den Monat aus, und automatsch aktualisiert sich das ganze Formular mit der richtigen Anzahl an Tagen für das Auswahlfeld des Tages....oder so.

        Diese Funktion ist gefährlich - weil alle Eintragungen, die ins Formular bisher gemacht wurden, gelöscht werden! Ich würde das nicht so lösen, wie du es bislang willst.

        Und wie gesagt...im iE geht es einwandfrei.

        Das heißt nicht, dass es so korrekt ist. Der IE rät viel (und vieles auch richtig), deshalb kann man ihm den größten Scheiß vorsetzen und kriegt immer noch ein Ergebnis.

        Kann dir das komplette Formular leider nicht zeigen, da es bei uns im Intranet steht.

        - Sven Rautenberg

        --
        "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
        1. Diese Funktion ist gefährlich - weil alle Eintragungen, die ins Formular bisher gemacht wurden, gelöscht werden! Ich würde das nicht so lösen, wie du es bislang willst.

          .....

          Hi Sven
          Was ist daran gefährlich?
          Das Formular ist ein elektronische Urlaubsantrag in JSP.
          Die ersten Formularfelder wie Benutzernam und Email werden bereits automatisch befüllt per request.getparameter(Authentifizierung) und bekommen dann ihr value fest zugewiesen. Dies kann auch nicht vom Benutzer geändert werden.

          Danach soll der Benutzer sein Startdatum aus Auswahllisten in der Reihenfolge Jahr - Monat - Tag (ISO-Norm) auswählen.
          In dem Moment, wenn er den Monat auswählt, wird das Formular aktualisiert. Es ruft sich also selbst wieder auf, mit der Richtigen Anzahl von Tagen für den Monat, abhängig vom Jahr.
          Dies sollte damit erreicht werden.

          Wenn es das Attribut Name nicht gibt, was habe ich dann noch für möglichkeiten?
          Wie gesagt. Das Value-Attribut brauche ich für den eigentlichen Formularwert, wenn es dann abgesendet wird.

          Hier nochmal der Code:
          <select name='StartDatumMonat' size='1' class='selectzweier' onChange="top.location.href=this.form.StartDatumMonat.options[this.form.StartDatumMonat.selectedIndex].name">
                                        <% for (int m=1; m <= 12; m++) {
                                         if (m == intIndexMonat) {  %>
                                           <option selected name='/Urlaubsantrag/datecheck1.jsp?StartDatumTag=<%= strTage[intIndexTag]%>&StartDatumMonat=<%= strMonate[m] %>&BundesLand=<%= intBundesLand%>' value='<%= strMonate[m] %>'><%= strMonate[m] %></option>
                                         <% }
                                         else {
                                         %>
                                           <option name='/Urlaubsantrag/datecheck1.jsp?StartDatumTag=<%= strTage[intIndexTag]%>&StartDatumMonat=<%= strMonate[m] %>&BundesLand=<%= intBundesLand%>' value='<%= strMonate[m] %>'><%= strMonate[m] %></option>
                                         <% }
                                        } %>
                                 </select>

          Gruß

          MO

          1. Moin!

            Diese Funktion ist gefährlich - weil alle Eintragungen, die ins Formular bisher gemacht wurden, gelöscht werden! Ich würde das nicht so lösen, wie du es bislang willst.

            Was ist daran gefährlich?
            Das Formular ist ein elektronische Urlaubsantrag in JSP.
            Die ersten Formularfelder wie Benutzernam und Email werden bereits automatisch befüllt per request.getparameter(Authentifizierung) und bekommen dann ihr value fest zugewiesen. Dies kann auch nicht vom Benutzer geändert werden.

            Naja, was noch um das Formular herum steht, hast du ja nicht gesagt.

            Trotzdem: Indem du das Formular neu lädst, und es nicht _abschickst_, werden alle gemachten Eintragungen, die vom letzten, dem Server bekannten Stand abweichen, gelöscht. Wenn man den Benutzernamen nicht ändern kann und soll - gut.

            Wenn man hingegen einen Monat auswählt, dann die Tage, dann aber feststellt, dass der Monat falsch ist - dann ist die Tagesauswahl futsch! Sowas würde mich nerven.

            Danach soll der Benutzer sein Startdatum aus Auswahllisten in der Reihenfolge Jahr - Monat - Tag (ISO-Norm) auswählen.

            Datumseingaben mit Optionslisten halte ich generell für ungünstig. Ich bevorzuge ein Textfeld, in welches das gewünschte Datum eingetragen werden kann. Eine serverseitige Validierung muß ohnehin erfolgen, und eine Javascript-mäßige Validierung ist mit dem Date-Objekt sehr simpel realisierbar.

            Wenn es das Attribut Name nicht gibt, was habe ich dann noch für möglichkeiten?

            Benutze den Value, um damit eine URL zusammenzusetzen, die vom Server abgerufen wird.

            Oder noch besser: Benutze ausschließlich Javascript, um aufgrund der Auswahl der Monatsangabe die Tagesdatumsliste dynamisch zu ändern.

            Siehe dazu auch http://selfhtml.teamone.de/javascript/objekte/options.htm#neue_elemente ff.

            - Sven Rautenberg

            --
            "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
  2. hi,

    Was mache ich verkehrt??

    zunaechst mal, dass Du ein wenig aussagekraeftiges Subject waehlst ;-)

    »»this.form.EndDatumMonat.options[this.form.EndDatumMonat.selectedIndex].name">

    Du bist doch schon im Select drinne, Referenzierung also korrekt:

    <form Name="dpl">
    <select name="sel" onchange="alert(this[this.selectedIndex].value)">
     <option value="x">x</option>
            ...
    </form>

    Gruesse  Joachim

  3. Hallo Leute.

    Habe eine kleine Funktion, bei der mittels onChange bei Auswahl eines Select-feldes die Seite sich automatisch aktualisiert.
    Funktioniert im iE einwandfrei. Nur Netscape bringt 404 file not found.

    Was mache ich verkehrt??

    Ich vermute mal du hast eine CSS Datei eingebunden?
    und wenn die nicht da ist bringt Netscape einen 404'er Fehler. Schau mal in die URL Leiste nach der Fehlermeldung.

    Struppi.