Formular ohne Button absenden ?
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abschicken
auswahl
browser
button
code
dank
einfache funktion
element
erfahrung
erfolg
familie
form
formular
funktion
machen
opus
safari
standard
url
video
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich würde mal sagen, dass dies mit JavaScript möglich wäre:
...onChange="this.submit();"...
-
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
^^ -
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
....
-
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
?
-
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:
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):<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>
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.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; } };
-
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:
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):<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>
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.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; } };
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)? -
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage