WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   html: eingabe in einem formular (http://www.wcm.at/forum/showthread.php?t=76131)

FaithNoMore 06.11.2002 10:29

html: eingabe in einem formular
 
hi,

ich habe ein script, welches html-seiten mit dynamischen inhalt generiert. ich habe mehrere seiten mit formularfeldern.

mein problem:
wenn ich bei einer seite eingaben mache u enter drücke (nicht den submit button), fliege ich aus meinem script raus. meine vorstellung aber ist, dass das gleiche passiert, wie wenn ich auf den submit button drücke.

bei den anderen formularseiten funktioniert dies auch ohne probleme (--> dazu habe ich aber nichts beigetragen...).

meine frage:
kann man dies aktiv steueren, oder ist man auf den jeweiligen browser/glück/zufall angewiesen?

btw: im selfhtml habe ich diesbezüglich nichts gefunden u die tabulator-reihenfolge anweisung bringt auch nichts. mein script ist ein simples c-script...

kikakater 06.11.2002 11:15

Lieber Hirnchristl !

Du verzeihst, aber so gehts nicht. Was passiert ganz genau, "ich flieg aus dem Script raus" :( ist kein Ersatz zu einem Bericht, was für eine Reaktion im Browser offensichtlich wird. *kopfschüttel*

FaithNoMore 06.11.2002 11:24

ok ich versuchs mal dir zu erklären (du kannst mich ja dann wieder berichtigen)

der ablauf meines scripts sieht wie folgt auf:

wenn ein aufruf ohne parameter gemacht wird -> zeige startseite
aufruf mit parameter: zeige gewünschte seite

nun bin ich auf meiner gewünschten seite - drücke den enter button und anstatt auf die nächste seite (des logischen ablaufs im script) zu gehen, wird ein aufruf ohne parameter durchgeführt und ich lande auf der startseite (das meine ich mit aus dem script fliegen...)

Alex1 06.11.2002 12:21

Lande auf der Startseite...das klingt danach, als ob irgendein Parameter/Argument nicht übergeben wird.
Dieses Enter drücken/Submitbutton drücken Problem: hast Du das auf immer derselben Seite?

FaithNoMore 06.11.2002 12:28

ja, aber nur beim enter drücken - nicht beim submit button.
das ein parameter (welcher den aufruf identifiziert) fehlt, wird wahrscheinlich das problem sein, aber warum? die anderen seiten, auf welchen es funktioniert (enter drücken), haben die gleiche struktur/seitenaufbau wie diese seite...

es werden zwar mehr parameter übergeben (eingabevariablen), aber es sollte die gleiche funktion aufgerufen werden (suchfunktion)...

kikakater 06.11.2002 12:43

Mit method="get" gehen nur 80 Schreibstellen, tut leid 1).



2) Nix beleidigen wollt, sowas verbietet sich, explizit werden muss sogar erlaubt sein.



3) Vielleicht fehlt wirklich irgendwo der Aufruf der Variablen oder das Folgescript steht nicht im DocumentRoot+subdir. Mehr fällt mir im Moment nicht ein.




mfg Kikakater

käptn 06.11.2002 12:44

Der Submitbutton

<input type="submit" name="submit" value="los">

findet sich in der Form-Übergabe wieder, zB bei GET: ...&submit=los

Vermutung:
Du überprüfst über die Existenz des Parameters "submit" ob das Form abgeschickt wurde.

~

FaithNoMore 06.11.2002 15:35

@kikakater: no prob

@käptn: ja ich überprüfe ob der name submit (im script wird dieser als eine variable behandelt) vorhanden ist. ich verwende die methode post.

was mir aufgefallen ist (ich weiss nicht, ob dies was ausmacht) ist, dass wenn ich den cursor auf ein eingabe feld stelle wird der submit button hinterlegt --> daher auch meine annahme, dass wenn man nicht direkt auf den submit button klickt u auch nicht mit dem tab dort hin wandert, dass wenn man enter (im eingabefeld drückt) den gleichen effekt hat, wie wenn man auf submit drückt...:confused:

btw:
ie 6.0: hier tritt dieses problem auf
netscape 6.2: no prob
opera 6.05: no prob
modzilla 1.1: no prob
netscape 4.7: gleiches problem auf der gleichen seite, aber dafür erfolgt keine verarbeitung auf den anderen seiten... (ns 4.7. wird aber nicht verwendet - nur für tests)

kikakater 06.11.2002 16:07

Es soll immer funktionieren, daß Enter in einem Textfeld auch gleichzeitig zum Abschicken des Formulars führt. Das willst Du, richtig ? Nur manchmal (bei bestimmten Formularen) führt das Drücken von Enter zwar zum Submitten des Formulars (ich meine damit, das Formular geht wie immer zu), aber die Dateninhalte und noch viel mehr die Variablen (und spezifischer erklärt deren Namen) sind im darauffolgenden Serverscript mit Endung .php (bzw. phpxy :heul: ) nicht vorhanden. Das ist Dein Problem ? Ich mein, ich frag so blöd, verzeih mir. Du willst if($nachname ... abfragen, aber 'nachname' als Variable gibt es gar nicht. Ist das des Pudels Kern, oder bin ich auf dem Holzweg ?

Es scheint mir, daß das Weiterschalten der Variablen $screen bzw. $folgebildschirm, $folgeeingabemaske - oder wie sie auch immer heißt - nicht korrekt erfolgt.

mfg Kikakater

FaithNoMore 06.11.2002 17:03

ich entwickle ein web if für eingabe von daten (keine große angelegenheit - just only a nice app) für einen kunden, damit einige techniker daten eingeben können. -> das ist kurz gesagt das was das prog machen soll.

nun da ich nun fertig bin u testen tu, versuche ich die software nun qualitativ zu verbessern u dabei bin ich auf mein problem gestossen.

wir verwenden c++ programme als scripts (is ungewöhnlich, aber funkt auch gut...). die variablen werden von einer methode eingelesen, welche gut funkt (-> habe ich nicht selber geschrieben) -> variablen werden von einem unix server geholt... (als nix od. fast nix mit .php usw.)

in dem projekt is es keine 100%ig anforderung (das das funkt), aber solche sachen habe ich schon in der vergangenheit des öfteren gehabt u bin dabei genauso gescheit gwesen wie jetzt. ich bin der ansicht, dass es immer (immer? nicht immer, aber immer öfter...) eine lösung/weg gibt (frage is nur wie weit man gehen muss um ans ziel zu kommen...).

da ich schon viel getestet u gesucht u probiert u verbessert usw habe, frage ich nun euch nach rat dabei, vielleicht is es schon jemanden anders untergekommen u war in der gleichen situation wie ich u war (anders als ich) in der lage das zu fixen...:verwirrt:

käptn 06.11.2002 17:46

Unschön, aber immerhin eine Symptombehandlung wäre, die Entertaste im IE6 per JS abzufangen...

~

FaithNoMore 06.11.2002 17:56

äääh blöde frage, aber wie fange ich die enter taste ab? :confused:

kikakater 06.11.2002 18:13

Handelt es sich um ein kompiliertes C++ Binärprogramm, das als cgi aufgerufen wird ? Vielleicht liegt da ..drinnen, im cgi script - also selbst -.. der Hund begraben ?

FaithNoMore 06.11.2002 18:20

Zitat:

Original geschrieben von Kikakater
Handelt es sich um ein kompiliertes C++ Binärprogramm, das als cgi aufgerufen wird ?
ja is es - ob da der hund begraben liegt? tja kann ich nicht so einfach beurteilen, ich entwickle unter unix u habe nur eingeschränkte debugging möglichkeiten... is ziemlich schwierig zu finden/nachzuvollziehen...

kikakater 06.11.2002 18:29

Kann ich mir nicht vorstellen:

Du hast gepostet:

Form xy: submit button ok, enter taste ok
Form xz: submit button ok, enter taste nok

Form xy und Form xz rufen im action Attribut des form Tags dieses Komiker cgi auf.

Was, wenn nicht das cgi bzw. der unterschiedliche outstream, der bei submit bzw. enter erzeugt wird und den das cgi script nicht verkraftet, soll schuld sein ?

Das cgi müsste vermutlich eigentlich einen Fehler aufweisen ...

*abernix wissen ultrakonkret*

käptn 06.11.2002 19:55

Zitat:

Original geschrieben von FaithNoMore
äääh blöde frage, aber wie fange ich die enter taste ab? :confused:
<body onKeyDown="if ( navigator.userAgent.toLowerCase().indexOf('msie 6') > -1 ) if ( event.keyCode == '13' ) return false;">

HTH

~

_m3 07.11.2002 08:14

Zitat:

Original geschrieben von käptn


<body onKeyDown="if ( navigator.userAgent.toLowerCase().indexOf('msie 6') > -1 ) if ( event.keyCode == '13' ) return false;">

HTH

~

Und wenn ich JavaScript deaktiviert oder keinen IE habe ?

käptn 07.11.2002 11:50

Zitat:

Original geschrieben von _m3
Und wenn ich JavaScript deaktiviert oder keinen IE habe ?
Sehr geehrter _m3 :D

du hast doch wohl den Thread von vorne an vollständig durchgelesen? oder? :p


*scnr*

~

_m3 07.11.2002 13:05

Ja :D

käptn 07.11.2002 13:10

Zitat:

Original geschrieben von _m3
Ja :D
Gut :D

:hehe:

~

FaithNoMore 07.11.2002 13:20

@ käptn: respekt. die enter taste lässt sich nun unter den ie 6 nicht mehr drücken (i weiss es passiert nichts wenn mans drückt!). u bei den anderen browsern funkts ja eh richtig.

das ergebnis is zwar net 100%ig, aber ne verdammt gute lösung -> wenns unter 1e 6 net geht dann soll er auch wenigstens net rausfliegen, sondern den submit button betätigen.

thx to all...

kikakater 07.11.2002 13:28

Für alle nicht scnr'ler

*dnam* :D (=dammt noch a mal, scheiss akronyme !)


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag