Ich möchte im Browser ein Fenster ausgeben, in dem ich mit ohtml:put den Inhalt eines arrays ausgeben. Das funktioniert mit einer Schleife problemlos.
Nun würde ich gerne im gleichen Fenster die Möglichkeit haben, Daten einzugeben, die ich diesen Arrayelementen in der weiteren Abarbeitung zuordnen kann. Das versuche ich mit einem zweiten Array.
Der etwas sinnentleerte Code zeigt wohl, was ich da vorhabe.
Die Vornamen werden angezeigt, dahinter erscheinen Eingabefelder für die Nachnamen. Das funktioniert soweit gut.
Allerdings werden Eingaben in diese Felder nicht (wie ich es erwartet hatte) den arrayelementen nachname zugewiesen. Sie versickern wohin auch immer.
Das weiter Ziel sollte es sein, nach dem Absenden die Daten beider Arrays in eine weiteren Funktion zu übergeben und dort dann anzuzeigen oder in eine DBF zu schreiben, die aus den Feldern Vorname und Nachname besteht. Auch da gelingt es mir nicht, die Arrays zu übergeben. Das habe ich in anderen Versuchen nur mit Variablen und ohtm:getvar hinbekommen. Dieses Beispiel knallt z.B. ab, weil die arrays in der Funktion uk_sende nicht bekannt sind.
Ist es überhaupt möglich, im Browser Daten per Schleife in ein array einzulesen ?
Code: Alles auswählen
// Direkteingabe
FUNCTION _register( oPackage )
oPackage:registerForm( "uk_opel" )
oPackage:registerForm( "uk_sende" )
RETURN .T.
FUNCTION uk_opel( oHTML, oContext )
DECLARE Vorname := {"GERDA","KLAUS","MANFRED","KARL","EGON"}
DECLARE Nachname := {".....",".....",".......","....","...."}
ohtml:header()
ohtml:formstart()
for xi = 1 to len(vorname)
ohtml:put("<P>")
ohtml:put(vorname[xi])
ohtml:sle("","nachname[xi]",nachname[xi],"")
ohtml:put("</p>")
next
ohtml:setvar( "WAA_PACKAGE", "uk_opel")
ohtml:setvar( "WAA_FORM" , "uk_sende")
ohtml:submitbutton ("Daten senden")
ohtml:formend()
RETURN .T.
function uk_sende(ohtml,ocontext)
* irgendwie müssen die array hier übernommen werden
for yi = 1 to len(vorname)
ohtml:header()
ohtml:formstart()
ohtml:put("<p>"+vorname[xi]+nachname[xi]+"</p>")
next
ohtml:formend()
*oder Daten speichern
*use adressen
*for yi = 1 to len(vorname)
*appe blan
*repl vorname with vorname[yi]
*repl nachname with nachname[yi]
*next
*close adressen
return .t.