| | | | |
| |||||||
| JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Benutzer Registriert seit: 06.03.2009
Beiträge: 46
![]() | Zitat:
Mir ist gerade aufgefallen, dass im Originalcode nur ein Formular mit mehreren Submit-Buttons existiert: PHP-Code: PHP-Code: | |
| | |
| | |
| Erfahrener Benutzer | erstmal: Brech dir nicht die Finger mit purem JS, nutze Frameworks die "was du willst" auch Crossbrowser-Tauglich für dich realisieren. Die Beispiele von mir hier, sind für die aktuellste Version von jQuery, aber vorab noch ein paar Anmerkungen: Forms, Forms, Forms, it should be only one Form available to rule them all! Forms sind dazu gedacht eine Menge an Daten an ein Script zu übergeben, den ganzen Quelltext mit Forms zuzukleistern die eigentlich nur immer einen Wert an xy.php übergeben hat in etwa soviel Sinn als würdest du die Banane wiegen, streicheln und vermessen bevor du sie essen würdest. Wirst du nicht lange machen. Ersetze solche "Single Data"-Forms gegen entsprechende <a>-Tags, und übergibs einfach explizit per GET, ob du nun da einen Button hast, oder ein a Tag der wie einer aussieht, oder ein <button>-Tag der sogar ein Button ist, aber nicht zwingend in einem Formular rumliegen muss. Here we go: Legen wir die Buttons an, 2 Stück als Beispiel, beide vom Typ "button", damit kein submit-verhalten im browser assoziiert wird ( default verhalten aller Browser außer IE ): buttons.html HTML-Code: <button type="button" id="btn1">Mr. Clickor 1</button> <button type="button" id="btn2">Mr. Clickor 2</button> Die "AJAX"-Methode: Don't reload, just submit and load a new snippet. Die "Display-fläche": index.html HTML-Code: <div id="displayDevice"></div> HTML-Code: <script type="text/javascript"> $(document).ready(function(){ // load first snippet $.get('script_root.php', { action: 'getTheCoolFirstSnippet' }, function(data) { $('#displayDevice').html(data); }, 'html'); // assign events // button CLICKs $('#btn1').click(function(){ $.get('script_a.php', { weNowSubmit: 'Mr. Clickor 1 has spoken' }, function(data) { $('#displayDevice').html(data); }, 'html'); }); $('#btn2').click(function(){ $.get('script_b.php', { weNowSubmit: 'Mr. Clickor 2 has spoken' }, function(data) { $('#displayDevice').html(data); }, 'html'); }); // more events for keyboard control // ... c() o() d() e() ... // navigation keys welche buttons "drücken" sollen registrieren hier nicht nochmal // die function sondern trigger()'n das jeweilige click()-event des Buttons. Fertig. }); </script> Das displayDevice-DIV wird hierbei nicht gebraucht, da pack dann entsprechend den HTML-Code der gesehen werden soll bei den Zielen der Scripts hin. HTML-Code: <script type="text/javascript"> $(document).ready(function() { // button CLICKs $('#btn1').click(function() { window.location.href = 'script_a.php?weNoSubmit=this'; }); $('#btn2').click(function() { window.location.href = 'script_b.php?weNoSubmit=that'; }); // more events for keyboard control // ... c() o() d() e() ... // navigation keys welche buttons "drücken" sollen registrieren hier nicht nochmal // die function sondern trigger()'n das jeweilige click()-event des Buttons. Fertig. }); </script>
__________________ |
| | |
| | |
| Benutzer Registriert seit: 06.03.2009
Beiträge: 46
![]() | Ah, ja erklärt so einiges ![]() @tr0y Die Forms dafür zu "missbrauchen" ist sicher nicht die sauberste Art, aber extra ein fettes jquery-Framework einzubinden stufe ich für meine Zwecke als übertrieben ein. Ich benötige JS-Funktionen ausschließlich für die o.g. Zwecke und das von mir zusammengeschusterte Script läuft zumindest in allen derzeit aktuellen Browserversionen. |
| | |
| | |
| Erfahrener Benutzer | Deine Entscheidung. Trotzdem: "Write less, do more."
__________________ |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Also wenn Dein Form nur den Button enthält, dann brauchst Du auch kein Form, sondern kannst alles über GET-Link Ajax-POST-oder-whatever-Request machen. [edit] Mist, das hat Troy ja alles schon geschrieben
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Reihemfolge von Submit Button bestimmen | noop | PHP Einsteiger | 9 | 07.07.2011 15:38 |
| Formular 1 wurde verändert, Formular 2 Submit muss dies erkennen | smilla | JavaScript, Ajax und mehr | 2 | 28.03.2010 21:26 |
| Formular nach SUBMIT nicht leeren?? | Dome90 | PHP Tipps 2010 | 11 | 29.01.2010 13:47 |
| Submit Button mit Bild, per Click anderer Button | the-rod | JavaScript, Ajax und mehr | 3 | 26.06.2009 17:52 |
| [Erledigt] submit button mit bild problem | Webby | HTML, Usability und Barrierefreiheit | 19 | 02.03.2009 23:54 |
| [Erledigt] submit button wechseln wenn sid in DB vorhanden | fulltilt | PHP Tipps 2009 | 5 | 20.02.2009 16:32 |
| Wert aus Textfeld in neues Formular übernehmen (kein Submit) | PsychoEagle | HTML, Usability und Barrierefreiheit | 9 | 02.01.2007 14:51 |
| Formular abschiken ohne Submit Button | shocky | HTML, Usability und Barrierefreiheit | 10 | 02.11.2006 21:53 |
| Formular nach absenden leeren | Rotti | HTML, Usability und Barrierefreiheit | 5 | 27.05.2006 18:38 |
| [Erledigt] formular aus anderem Frame absenden | HTML, Usability und Barrierefreiheit | 3 | 26.01.2006 15:37 | |
| mehrfaches absenden von Formular verhindern | nieselfriem | PHP Tipps 2005-2 | 1 | 24.08.2005 13:50 |
| Variable aus Formular ohne submit Button übergeben | PHP Tipps 2005-2 | 3 | 24.06.2005 17:08 | |
| formular übergeben ohne button | me | HTML, Usability und Barrierefreiheit | 1 | 21.12.2004 14:56 |
| Formular: Vorschau und Absenden in einem | PHP Tipps 2004 | 3 | 04.11.2004 09:19 | |
| formular button linkt an interne Stelle | PHP Tipps 2004 | 1 | 08.06.2004 10:02 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| webbrowser submit buttons mit tastendruck, per javascript zweiten submit button drücken, javascript zwei button drücken, quelltext send button, ajax \ snippets\, formular per hyperlink abschicken, button, formular submit per klick, javascript form action mehrere button, javascript submit button drücken, form mit 2 submit java |