steckl: Javascript-Weiche

Hi,

wollte mal fragen was der bessere Weg ist, um eine Seite fuer User mit abgeschaltetem JS verwendbar zu machen.

Ich habe ich ein Formular mit einer Select-Box. Bei onchange wird das Formular sofort abgeschickt.
Wenn der User jetzt aber JS deaktiviert hat muss ich ja einen Submit-Button anzeigen, da das Formular sonst nicht weggeschickt werden kann.

Mir fallen jetzt 2 Moeglichkeiten ein dies zu realisieren:
a) Das input-tag in ein noscript-Tag schreiben
b) Das input-tag ganz normal schreiben und per
document.getElementsByName('BUTTONNAME')[0].style.display = 'none';
ausblenden.
Dies koennte man dann bei onload vom body aufrufen.

Welche Methode ist eurer Meinung nach vorzuziehen? Oder macht es keinen Unterschied welche ich waehle?

mfG,
steckl

  1. Moin steckl.

    Sauberer ist wohl der noscript-Bereich.
    Bei der JS-Lösung schreibst Du das input erst um es dann wieder auszublenden.

    Allerdings macht es für den Benutzer wohl keinen Unterschied.

    Paul

  2. Hi,

    Ich habe ich ein Formular mit einer Select-Box. Bei onchange wird das Formular sofort abgeschickt.

    D.h., Surfer ohne JS können das Select-Feld auch mit Tastatur bedienen, während JS-Surfern dieses verwehrt bleibt?!

    Ich dachte bislang, der Einsatz von JS solle Vorteile bieten und nicht in Nachteile ausarten? =:-o

    Welche Methode ist eurer Meinung nach vorzuziehen?

    Meine persönliche Variante:

    • onclick-Event auf die OPTIONS
    • bei den Browsern, die das bekanntermaßen unterstützen (z.B. der Moz), wird der Submit-Button entfernt (removeChild()) - sowie das Menü ggf. auch sonst angepaßt.

    Dann funktionieren die Tastatur- & Maussteuerung in allen Browsern, und in ausgewählten Browsern auch ohne Submit-Button.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hi,

      Ich habe ich ein Formular mit einer Select-Box. Bei onchange wird das Formular sofort abgeschickt.

      D.h., Surfer ohne JS können das Select-Feld auch mit Tastatur bedienen, während JS-Surfern dieses verwehrt bleibt?!

      Ich dachte bislang, der Einsatz von JS solle Vorteile bieten und nicht in Nachteile ausarten? =:-o

      Sorry, ich habs wohl nicht genau genug beschrieben.
      Das Formular wird an sich selbst geschickt. Je nach Wert des Select-Felds wird dann der untere Teil der Seite neu angezeigt.
      Man kann es sich so vorstellen.
      <select>
        <option value="inhalt1">Daten zu 1. Option</option>
        <option value="inhalt2" selected="selected">Daten zu 2. Option</option>
        <option value="inhalt3">Daten zu 3. Option</option>
      </select>

      Der Button waere also ueberfluessig, da sich durch ein Abschicken ohne Veraendern des Wertes des Select-Feldes die Seite nur neu laden wuerde. Ansonsten enthaelt das Formular keine weiteren Felder.

      Meine persönliche Variante:

      • onclick-Event auf die OPTIONS

      Ist fuer mich eher unguenstig, da ich ja die Seite nur neu laden will, wenn sich die Auswahl aendert. Aber das konntest du ja nicht wissen.

      mfG,
      steckl

      1. Hi,

        Das Formular wird an sich selbst geschickt. Je nach Wert des Select-Felds wird dann der untere Teil der Seite neu angezeigt.

        Und weswegen wird dafür überhaupt die Seite neu geladen/das Formular abgeschickt? Unnötig und sehr userunfreundlich, das!

        • onclick-Event auf die OPTIONS
          Ist fuer mich eher unguenstig, da ich ja die Seite nur neu laden will, wenn sich die Auswahl aendert.

        Dann würde ich onclick nehmen, und die neue Auswahl mit der alten vergleichen - und einfach nichts tun, wenn es keine neue ist. :)

        Allerdings in deinem konkreten Fall würde ich wohl wirklich onchange nehmen, aber das Formular dann ohnehin auch nicht absenden, sondern direkt alle Änderungen durchführen. Das Absenden wäre (inkl. Submit-Button) dann nur für die JS-losen Surfer relevant.

        Oder aber Du verschweigst irgendwas wichtiges, ...

        Aber das konntest du ja nicht wissen.

        ... was ich wiederum nicht weiß, und mir auch nicht vorstellen kann. =;-)

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        1. Hi,

          Und weswegen wird dafür überhaupt die Seite neu geladen/das Formular abgeschickt? Unnötig und sehr userunfreundlich, das!

          In dem Select-Feld kann man die Datenbank auswaehlen, die ausgelesen werden soll.
          Unten werden dann Inhalte dieser Datenbank in einer Tabelle dargestellt. Das Ganze haette man (ich vll. auch ;) sonst noch mit AJAX realisieren koennen, aber da eh fast die komplette Seite (ausser Ueberschrift und das eine Input-Feld) neu geladen werden muss habe ich mich fuer die Loesung ueber ein "normales" Formular entschieden.

          Ausserdem haette die AJAX-Loesung viel mehr Programmieraufwand bedeutet, da ich dann 2 voellig unterschiedliche Loesungswege (mit und ohne JS) programmieren haette muessen.

          Allerdings in deinem konkreten Fall würde ich wohl wirklich onchange nehmen, aber das Formular dann ohnehin auch nicht absenden, sondern direkt alle Änderungen durchführen. Das Absenden wäre (inkl. Submit-Button) dann nur für die JS-losen Surfer relevant.

          Das geht ja nicht, da ich erst neue Inhalte laden muss. Hoffe ich habe das jetzt oben verstaendlich ausgedrueckt?

          Oder aber Du verschweigst irgendwas wichtiges, ...

          Aber das konntest du ja nicht wissen.

          ... was ich wiederum nicht weiß, und mir auch nicht vorstellen kann. =;-)

          Jetzt klar? Ansonsten koennte ich dir noch Screenshots praesentieren, da ich dazu fuer die IHK eine Doku schreiben musste.
          Die ca. 20-seitige Doku des gesamten Tools haette ich auch noch ;-)

          mfG,
          steckl

          1. Hi,

            Ausserdem haette die AJAX-Loesung viel mehr Programmieraufwand bedeutet, da ich dann 2 voellig unterschiedliche Loesungswege (mit und ohne JS) programmieren haette muessen.

            Ja, das bringt JS-Komfort für den Surfer mitunter so mit sich: Mehr Arbeit für den Webdesigner. >:-)

            Jetzt klar?

            Ja. Wenn man mit der Tastatur das 3. Feld auswählen möchte, wird der gewöhnliche Surfer durch 3 Reloads gejagt, die die Seite jeweils ziemlich verändern. Und ich hätte es eben anders gelöst - so oder so.

            Belassen wir es also dabei ...

            ... denen bei der IHK ist sowas eh egal - und den dortigen Surfern sicherlich auch. Das einzige interessante an der IHK sind ja eh nur die Gratis-Schnittchen bei irgendwelchen Veranstaltungen ... >;->

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
            1. Hi,

              Jetzt klar?

              Ja. Wenn man mit der Tastatur das 3. Feld auswählen möchte, wird der gewöhnliche Surfer durch 3 Reloads gejagt, die die Seite jeweils ziemlich verändern. Und ich hätte es eben anders gelöst - so oder so.

              Im FF habe ich dieses Verhalten nicht, aber habs gerade im IE6 getestet und du hast Recht. Werde es wohl noch umbauen, ist ja auch nicht mehr Aufwand.

              ... Das einzige interessante an der IHK sind ja eh nur die Gratis-Schnittchen bei irgendwelchen Veranstaltungen ... >;->

              Mal schauen, was ich am 16.7. so abstauben kann :-)

              mfG,
              steckl