Javascript vorraussetzen
concord
- javascript
0 Erlenwein Karl-Heinz0 Peter Pan1 Beat0 hotti
Hi.
Ich möchte das man mein Formular nur nutzen kann, wenn man JS aktiviert hat!
Reicht es, wenn ich den Submit-Button per JS setze? Oder kann man das Formular dann trotzdem noch irgendwie abschicken?
Natürlich bekommt derjenige eine noscript Info. Aber ich möchte, das sie das Formular nich ohne abschicken können.
Lg, Conc.
Nimm den Submit Button raus, ersetze ihn durch einen normalen Button und verschicke das Formular per Javascript, bei Klick auf diesen
document.forms(0).submit();
So würde ich das lösen.
Oder, Du ladest das Formular per innerHTML in Deine Seite. Wenn kein JS an ist, dann erscheint das Formular erst garnicht.
Hi!
Ich möchte das man mein Formular nur nutzen kann, wenn man JS aktiviert hat!
Gibt es dafür einen Grund?
Reicht es, wenn ich den Submit-Button per JS setze?
Was genau meinst du mit setzen? Erst nach dem Laden per JS ins DOM einhängen?
Oder kann man das Formular dann trotzdem noch irgendwie abschicken?
Wie sollte das funktionieren?
Natürlich bekommt derjenige eine noscript Info.
Natürlich?
Aber ich möchte, das sie das Formular nich ohne abschicken können.
Nich ohne was, Javascript? Warum?
off:PP
Gibt es dafür einen Grund?
Missbrauch. Verschiedene Prüfungen die vor Abschicken des Formulars gemacht werden sollen. Menschen die Javascript deaktiviert haben - davon gibt es so wenige..[1]
Was genau meinst du mit setzen? Erst nach dem Laden per JS ins DOM einhängen?
Was denn sonst?
Ja. Alternativ per css als none und mit js nachträglich auf visible setzen.
Oder kann man das Formular dann trotzdem noch irgendwie abschicken?
Wie sollte das funktionieren?
Du stellst die gleiche Frage die ich stelle - ich will wissen ob dies möglich ist.. Hätte ich Ahnung ob es da eine Methode gibt würde ich nicht fragen.
Natürlich bekommt derjenige eine noscript Info.
Natürlich?
Nein, Mutter Natur kann kein HTML - selbstverständlich (:.
Aber ich möchte, das sie das Formular nich ohne abschicken können.
Nich ohne was, Javascript? Warum?
Habe ich von etwas anderem geredet? Siehe [1]
@@concord:
nuqneH
Missbrauch. Verschiedene Prüfungen die vor Abschicken des Formulars gemacht werden sollen.
Vor allem: _nach_ dem Abschicken des Formulars. Genauer: bei Empfang der Daten – auf dem Server!!
Die Verarbeitung eingehender Daten per serverseitiger Technik deiner Wahl ist obligatorisch. Die clientseitige Vorverarbeitung ist optional.
Und bist du _sicher_, dass man dein Formular überhaupt benötigt, um die Daten an deinen Server zu senden?
Menschen die Javascript deaktiviert haben - davon gibt es so wenige..[1]
LOL.
Mobile Endgeräte werden immer mehr. Führen die denn alle JavaScript aus?
Qapla'
Hi!
Gibt es dafür einen Grund?
Missbrauch. Verschiedene Prüfungen die vor Abschicken des Formulars gemacht werden sollen. Menschen die Javascript deaktiviert haben - davon gibt es so wenige..[1]
Wenn ich Deine serverseitige Logik mißbrauchen will, dann kann ich das tun - falls die serverseitige Logik darauf nicht vorbereitet ist - Javascript ist hier IMHO der falsche Ansatz!
off:PP
Reicht es, wenn ich den Submit-Button per JS setze? Oder kann man das Formular dann trotzdem noch irgendwie abschicken?
Das Wesentliche ist, dass ein Script eine API zur Verfügung stellt.
Diese kann ohne dein Formular verwendet werden.
Wenn du dich gegen Missbrauch schützen willst, solltest du über Sessions und Instantiierung von Formularen Gedanken machen.
mfg Beat
Hi!
Reicht es, wenn ich den Submit-Button per JS setze? Oder kann man das Formular dann trotzdem noch irgendwie abschicken?
Das Wesentliche ist, dass ein Script eine API zur Verfügung stellt.
Diese kann ohne dein Formular verwendet werden.
Deine Glaskugel scheint sauberer zu sein, als meine...
off:PP
hi,
Reicht es, wenn ich den Submit-Button per JS setze? Oder kann man das Formular dann trotzdem noch irgendwie abschicken?
Wie Beat schon schrieb: Dein Formular hat eine action-Note, das ist die API, also ein Ziel auf dem Server. Jeder kann darauf einen HTTP Request machen und Parameter mitgeben.
Was Du machen kannst, geht in Richtung Verschleierung. Z.B. könntest Du beim Laden des Forms einen falschen Zeitstempel in ein hidden-Field setzen und mit Ajax den richtigen Zeitstempel vom Server nachladen. Serverseitig hast Du dann ein Zeitfenster womit gefiltert werden kann, was Spam ist odere eine ernstgemeinte Zuschrift. Angucken jedoch solltest Du Dir alles, sicher ist da nix.
Hotti