Submit NUR per button !?
Pete
- javascript
Hallo zusammen !!
Nach längerer Recherche bin ich nun mit meinem Latein am Ende :(
Zwar habe ich mehrere (wirklich gute) Lösungsansätze gefunden, kann aber leider keinen davon verwerten, weil das Problem etwas komplexer ist und jeder dieser Ansätze einen Punkt ausser Acht lässt.
Das Problem ist:
Ich habe eine <FORM> mit mehreren einzeiligen und mehreren mehrzeiligen Eingabefeldern. Von allen Feldern muss nur ein einziges zwingend gefüllt sein (das zu lösen war einfach *g*).
Nun ist jedoch gewünscht, dass bei Betätigen der ENTER, bzw. RETURN-Taste die form nicht versandt wird, sondern NUR bei Betätigung des Buttons "senden".
Wenn ich jetzt das Return "ausschalte" mit
function enter()
{
if(window.event.keyCode == 13) return false;
if(window.event.keyCode == 13) return window.event.keyCode = 23;
}
return enter();
...habe ich zwar einen "Klickzwang" zum Versenden erzeugt, kann aber leider auch nicht mehr in den mehrzeiligen Eingabefeldern in einen neue Zeile springen :(
Kann mir bitte, bitte jemand sagen wie ich das lösen kann ???
Besten Dank im Voraus !!!
Pete
Ups...
ich nochmal ...
richtig heisst es:
function enter()
{
if(window.event.keyCode == 13) return false;
(hier war eine Zeile zuviel *g*)
}
return enter();
*g*
Pete
Hallo Pete!
Eine vollständige Lösung kann ich dir nicht bieten. Aber folgender Vorschlag:
Du programmierst dir zunächst deine (benamten) Eingabefelder zusammen. Diese liegen allerdings nicht innerhalb eines Formulars.
Dann setzt du einen Button (nennen wir ihn pseudoSubmit) mit auf diese seite, der onclick eine JS Funktion (nennen wir sie copyAllInput) aufruft.
Diese Funktion kopiert nun die Daten aus den Inputfeldern (document.element...) in eigene Variablen und erzeugt innerhalb von copyAllInput das von dir gewünschte Formular, welches dann die Daten im folgenden mittels document.Testform.submit() automatisch aus der Funktion abschickst.
Somit gibt es keinen echten Submit button mehr, sondern nur noch den von dir definierten Button pseudoSubmit.
Ich hoffe das hilft dir.
Viel Spass,
Richard
Hallo Richard
..pfiffig *g* thnx !
Pete
hi,
auch wenn ich kaum nachvollziehen kann, warum so oft gewünscht wird, das standardverhalten eines formulars, an welches sich der benutzer idR. schon gewöhnt hat, abzuändern ... mein vorschlag wäre folgender:
ein globale javascript-variable bekommt als default-wert false gesetzt.
per onSubmit im <form>-tag wird eine funktion aufgerufen, die einfach nur den wert dieser globalen variablen per return zurückgibt - false sorgt hier ja bekanntlich dafür, dass das formular nicht abgeschickt wird.
der submit-button wird zusätzlich noch per onClick mit einer funktion belegt, die diese globale variable auf true setzt. die anschliessend onSubmit im form aufgerufene funktion gibt jetzt true zurück, das formular wird also abgeschickt ...
gruss,
wahsaga