kostenloser Webspace werbefrei: lima-city


Formular ohne Button absenden ?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    lukepress

    lukepress hat kostenlosen Webspace.

    hallo
    wie kann ich ein formular so bauen, das bei auswahl(drop-down) diese auswahl direkt übergeben wird, ohne vorher auf eine "senden" button klicken zu müssen?

    wäre euch für tips sehr dankbar da ich noch recht neu in diesem gebiet bin

    Danke euch schonmal im vorraus

    Ahoi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich würde mal sagen, dass dies mit JavaScript möglich wäre:
    ...onChange="this.submit();"...
  4. lukepress schrieb:
    ... direkt übergeben ... ohne button ...


    hallo
    oder anstatt this() ein bestimmtes Formular
    ... hier Bsp: <form name="mein_formular" ...

    <form name="mein_formular" method="post" action="">
      Auswahl: 
      <select name="select" onChange="document.mein_formular.submit();"> 
        <option value="1">aaaa</option>
        <option value="2">bbbb</option>
        <option value="3">ccc</option>
        <option value="4">dddd</option>
      </select>
    </form>


    so kann man verschiedene Formulare verwenden (für verschiedene "events")

    ich offe das war ein brauchbarer Tipp
    ^^
  5. Autor dieses Themas

    lukepress

    lukepress hat kostenlosen Webspace.

    jup hat geholfen..und ja ich hab auch gegoogelt :)

    danke euch
  6. k*********s

    Hallo

    habei ich auch mal ausprobiert, aber bei mir geht das onChange einfach nicht ?!
    Browser-Abhängig? .. aber ich hab den neuen FF alles Standard

    kann ich den "javascript-teil" (Submit-event bei onChange) irgendwie Browser-sicherer anlegen?

    so wie man einen Ticker einfach mit <marqee< machen kann oder mit einem 10 Zeiler JavaScript
    ....

  7. Autor dieses Themas

    lukepress

    lukepress hat kostenlosen Webspace.

    Hallo

    ich habe irgendwo gelesen, dass es manchmal auf Groß- und klein-schreibung ankommt.

    also .... onChange() ..... und ..... onchange() .....


    ... kann man den onChanche "Event" auch in ein eigenständiges JS schreiben
    also nicht im TAG drin sondern als Extra <script type="text/javascript"> [HIER] </script>
    aber irgendwas muss ich ja im TAG als "Auslöser" übergeben
    ?
  8. In reinem HTML hat so ein "auslöser" gar nichts zu suchen hier mal ein Beispiel-body mit einem Formular, welches bei aktiviertem JS niemals abgeschickt werden kann:
    <body>
      <form action="sende-nur-ohne-js.pl" method="post">
        <p>
          <label for="send">Dieses Formular kann man nur ohne JS abschicken!</label>
          <input id="send" type="submit" value="Versuch mich abzuschicken" />
        </p>
        <p id="try">
      </form>
      <script type="text/javascript">
    //<![CDATA[
    document.forms[0].onsubmit = function(){
      var info = "Du hast versucht dieses Formular abzuschicken, aber mit "
                 + "aktiviertem Javascript geht das nicht";
      document.getElementById('try').innerHTML = info;
      return false;
    };
    //]]>
      </script>
    </body>
    So macht man das, zumindest wenn man etwas mehr Erfahrung mit JS hat, da diese Form des Eventhandlings aber nicht so zukunftsträchtig ist, sollte man sich stattdessen bemühen auf "Element.addEventListener( Event, function, "false") erfolgen, dazu kann man sich dann eine ganz einfache Funktion zusammenschustern, damit auch der IE unterstüzt wird (und andere Browser, die uralt sind):
    function addEvent(obj, evType, fn){
    /**
     *  Standardbrowser; wie z.B. Firefox, Opera oder Safari
     */
      if(obj.addEventListener){
        obj.addEventListener(evType, fn, false);
        return true;
    /**
     *  Die IE Familie
     */
      }else if(obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    /**
     *  Alle Browser, die keine von beiden Methoden beherschen
     */
      }else{
        if(typeof obj["on"+evType] != "function"){
          obj["on"+evType] = function(e){
            for(var i=0, l=this["on"+evType]["fn"].length; i<l; i++){
              this["on"+evType]["fn"](e);
            }
          };
        }
        if(!obj["on"+evType]["fn"]){
          obj["on"+evType]["fn"] = [];
        }
        obj["on"+evType]["fn"].push(fn);
        return true;
      }
    };
    Die Funktion könnt ihr so übernehmen, die funktioniert, außerdem empfehle ich euch mal die Seite http://ichwill.net anzusehen, da bekommt ihr gute Informationen, für den Einstieg in Javascript.
  9. nemoinho schrieb:
    In reinem HTML hat so ein "auslöser" gar nichts zu suchen hier mal ein Beispiel-body mit einem Formular, welches bei aktiviertem JS niemals abgeschickt werden kann:
    <body>
      <form action="sende-nur-ohne-js.pl" method="post">
        <p>
          <label for="send">Dieses Formular kann man nur ohne JS abschicken!</label>
          <input id="send" type="submit" value="Versuch mich abzuschicken" />
        </p>
        <p id="try">
      </form>
      <script type="text/javascript">
    //<![CDATA[
    document.forms[0].onsubmit = function(){
      var info = "Du hast versucht dieses Formular abzuschicken, aber mit "
                 + "aktiviertem Javascript geht das nicht";
      document.getElementById('try').innerHTML = info;
      return false;
    };
    //]]>
      </script>
    </body>
    So macht man das, zumindest wenn man etwas mehr Erfahrung mit JS hat, da diese Form des Eventhandlings aber nicht so zukunftsträchtig ist, sollte man sich stattdessen bemühen auf "Element.addEventListener( Event, function, "false") erfolgen, dazu kann man sich dann eine ganz einfache Funktion zusammenschustern, damit auch der IE unterstüzt wird (und andere Browser, die uralt sind):
    function addEvent(obj, evType, fn){
    /**
     *  Standardbrowser; wie z.B. Firefox, Opera oder Safari
     */
      if(obj.addEventListener){
        obj.addEventListener(evType, fn, false);
        return true;
    /**
     *  Die IE Familie
     */
      }else if(obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    /**
     *  Alle Browser, die keine von beiden Methoden beherschen
     */
      }else{
        if(typeof obj["on"+evType] != "function"){
          obj["on"+evType] = function(e){
            for(var i=0, l=this["on"+evType]["fn"].length; i<l; i++){
              this["on"+evType]["fn"](e);
            }
          };
        }
        if(!obj["on"+evType]["fn"]){
          obj["on"+evType]["fn"] = [];
        }
        obj["on"+evType]["fn"].push(fn);
        return true;
      }
    };
    Die Funktion könnt ihr so übernehmen, die funktioniert, außerdem empfehle ich euch mal die Seite http://ichwill.net anzusehen, da bekommt ihr gute Informationen, für den Einstieg in Javascript.


    Seit wann udn mit welcher Begründung sind die on[...]-Handler out?

    Zudem, was wäre in "Element.addEventListener( Event, function, "false") " für "Event" einzusetzen? Das hinter dem on (bspw. Click)?
  10. Oh, ja das hab ich vergessen, 'click' ist so ein Event, man nimmt halt immer das 'on' vorne weg.

    Außerdem versuche mal eine endlosschleife mit einem video-tag zu machen, das geht nur mit dem Standardweg:
    var video = document.getElementsByTagName('video')[0];
    video.addEventListener('end',function(e){e.target.play();},false);


    Zudem bietet der Standard einen großen Vorteil, man kann mehrere Funktionen auf einem Event registrieren, ohne dass man den Speicher unnötig stark belasten muss, wenn man das mit den on-Handlern machen will, braucht man ebenfalls immer eine Wrapperfunktion.
    Das ist ja auch das große Problem beim Eventhandling, was dazu führt, dass solche komischen, großen Teilfunktionen zustande kommen, wie sie im dritten Teil meiner genannten Funktion zu sehen sind und richtig "sch...e" wird es wenn man die Funktion wieder abmelden will, aber das will ich hier nicht weiter ausführen, dazu empfehele ich diesen Artikel von Struppi aus dem selfhtml-Forum: http://javascript.jstruebig.de/bibliotheken/48/ die Funktion die er da gestickt hat ist ziemlich relativ gut für den Feldeinsatz, sie verzichtet zwar auf den Standard, aber dafür baut sie die Eigenschaften ziemlich gut nach.
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!