Hi,
ich versuche im AVR Net IO auf Ulrich Radigs Basis eine Dropdown Liste
in der webpage.h zu integrieren die mir, je nach Auswahl, ein Wert in
eine Variable schreibt. Ich habe die dropdown -Liste so erstellt:
1
"<form action=\"select.htm\">"
2
" <p>"
3
" <select name=\"dw1\" size=\"3\">"
4
5
" <option>10 %</option>"
6
" <option>20 %</option>"
7
" <option>30 %</option>"
8
" <option>40 %</option>"
9
" <option>50 %</option>"
10
" <option>60 %</option>"
11
" <option>70 %</option>"
12
" <option>80 %</option>"
13
" <option>90 %</option>"
14
" <option>100 %</option>"
15
" <option value=\"%VI@01\">33</option>"
16
17
" </select>"
18
" </p>"
19
"</form>"
Soweit so Gut....
Die Zeile
1
" <option value=\"%VI@01\">33</option>"
soll den Wert 33 in die "%VI@01" rein schreiben , aber wie mach ich denn
jetz wohl in der httpd.c weiter (Hab ich im Anhang gepackt...)
Hat da vielleicht jemand schonmal dran gearbeite und kann mir da helfen
?
Vielen Dank ....
da du kein method übergeben hast, werden die variable-wert-paare an die
url angehängt.
du musst also im server-code die stelle finden, an der get-pakete
ausgewertet werden, dort die aufgerufene url parsen, deine variable
setzen und zusätzlcih entsprechend auf den aufruf reagieren (antwort
schicken!)
solange du nicht mal einen Ansatz hast bei deiner httpd.X Dateien, würde
ich sagen vergiss es.
Ohne größere Umbauten geht es nicht was du willst. In httpd.c wird nur
nach name=OUT gesucht (unsigned char post_in[5]) und der Parameter der
dann übergeben werden darf muß einstellig sein.
Danke schonmal... Hättet ihr vielleicht ne Idee wie ich das mit dem
vorhandenen Code machen könnte ? Es muss ja nicht unbedingt eine
dropdown liste sein ,,,.
Ich will halt ein Prozentwert der Steuerung übergeben !
wird in der "INVA14" der im Textfeld eingetragene Wert reingeschrieben.
Diesen bekomme ich dann so ins Programm (var_array[14])
Das ist jetzt ein ganz normales Textfeld, vielleicht kann mir einer
dabei Helfen dieses mit einer Dropdownliste zu machen? In etwa so:
Hallo,
also ich weis ja nicht genau was du vorhast, aber die Auswahlliste kann
immer nur einen Wert an einen Parameter übergeben. Der Parametername
steht dabei im "name"-Attribut - in diesem Fall innerhalb des
"select"-Tags. Der Wert der übergeben wird ist entweder der Text im
"option"-Tag oder der Wert aus dem "value"-Attribut wenn vorhanden.
Du kannst also mit <select name="%INVA@10" ..., Werte aus den Option
Tags an genau diesen (%INVA@10) Parameter übergeben.
Wenn du sehen willst was übergeben wird, dann gibs für Mozilla ein
Plugin namens "Live HTTP-Headers" dort siehst du was der Browser sendet.
Sascha
Hi Sascha , danke für deinen Tip . Du hast natuerlich Recht mit dem
einem Parameter . Das war ein Beispielfehler von mir ...
Ich probier das gleich mal aus und ich hoffe das du evtl nochmal rein
schaust....
Das funzte aber nicht. Hintergrund ist der dass ich nicht mehr extra auf
das Senden klicken will sondern das der Wert sofort bei Auswahl in den
Parameter geschrieben wird.
Vielen Dank schonmal....
Hallo,
versuchs mal mit ... onchange="f10.submit()" ...
Wenn du den <input ...> für's senden wegläßt, wird auch der Parameter
'SUB' aus diesem nicht mehr übergeben und der wird im AVR auch
ausgewertet - warum auch immer?!. Wenn's nicht mehr geht, dann diesen
Wert einfach als Blindelement ins Form einbinden. Also einfach den
Button zum senden von Type submit auf hidden ändern.
Sascha
Das klappt... danke. ...
Aber leider nicht im Safari und im Chrome, "nur" im IExplorer und im
Firefox...
Woran kann denn das liegen ? Unterstützt der Safari irgendetwas von
meinem Code nicht ? (Den will ich benutzen ;-( )
So sieht der bis jetzt aus:
Mmmhhh fuck.... leider brachte der Tipp nichts. (document.f10.submit())
Läuft immer noch nicht im Safari und im Chrome.
Habt Ihr noch einen Tip was ich ausprobieren kann ?
da währe noch
document.getElementsByName("f10")[0].submit()
oder dem form-Tag noch ne ID geben <form id="form1" ...
und document.getElementById("form1").submit()
zum testen kannst du auch die Ausgabe mal an ne Msgbox senden
onchange="alert(document.getElementsByName("f10")[0])"
sollte da irgendwas mit Objekt anzeigen.
Sascha
Ich glaube, dass das nicht an dem onchange Ereignis liegt, sondern darin
das der Sende-Befehl nicht rüber kommt. Ich kann ja auch den Button
anstatt onchange benutzen:
Dann passiert auch nichts, ich sehe halt das sich die Seite
aktualisiert, der Wert wird aber nicht in INVA14 geschrieben.
Wieder alles nur in Safari und Chrome...
Das Bild welches ich im Anhang gepackt habe entstand mit
Einfach mal mit dem Sendebutton oder mal mit dem onchange Ereignis. Aber
keine Chance der FF und IE fressen alles... nur der Safari und Chrome
verweigern sich...
Vielleicht noch einer ein Tipp?
Danke...
Markus P. schrieb:> ...> Dann passiert auch nichts, ich sehe halt das sich die Seite> aktualisiert, der Wert wird aber nicht in INVA14 geschrieben.> Wieder alles nur in Safari und Chrome...
also wird die Seite offenbar aufgerufen, aber die Parameter werden
entweder nicht (kann eigentlich nicht sein) oder an einer Stelle im
Header übergeben, so das sie von der Auswerteroutine im AVR nicht
erfasst werden.
Hast die WireShark installiert? - dann könnte man mal schauen was vom
Browser gesendet wird.
Sascha
> Hast die WireShark installiert? - dann könnte man mal schauen was vom> Browser gesendet wird.
Ja das hab ich drauf, aber ich blick da voll nicht durch. Das "Live
HTTP-Headers" für'n FF ist ja selbsterklärend aber beim WireShark ....
Der zeigt da soviel an, habe da nach "SUB" gesucht und überhaupt nicht
gefunden...
Kennst Du dich damit aus und kannst mir sagen was ich da für
Grundeinstellungen setzen muss?
Im Anahng mal eine Textdatei über die Exportfunktion gezogen nachdem ich
mal auf "Senden " geklickt habe...
häng' mal die WireShark-datei (.pcap) [Datei/Speichern] an und schreib
mal die URL der Seite die geladen wird, sowie die IP vom AVR und deines
Rechners.
Sascha
Hab die Sachen in den Anhang gepackt... Habe unter Menü im Wiki
Statistics/Conversation auch noch mal die beiden Textdateien aufzeichnen
können. (Sieht annähernd nach Live HTTP-Headers aus )
Da sieht man auch das "Senden", sieht meiner Meinung nach ganz OK aus...
Vielen Dank für deine Mühen...
nein,
ich hab mir mal die Ausgaben angeschaut, und noch mal selbst mit den
Firefox aufgezeichnet.
Der Firefox sendet den POST-Header und die POST-Parameter im selben
Paket, während beim Safari die Parameter in einem 2. zusätzlichen Paket
landen (in deiner .pcap Frame 5 & 6).
Muss also am Stack im AVR liegen. Der "SUB=" Wert im 2. Paket wird auch
gefunden, denn dieses wird nicht extra mit einem ACK-Paket bestätigt.
Offenbar geht hier beim auswerten was schief.
Mach mal testhalber deinen Parameter vorn etwas länger z.B. xx_INVA14,
damit INVA14 nicht am Anfang des Pakets steht.
Sascha
Verdammt... leider keine Verbesserung....
Mist .... Kriegen wir das noch hin ????
So sieht mein Code jetzt aus, hab bis zu 5 mal x ausprobiert
(xxxxx_INVA14)
FF geht immmer aber der Scheiss Safari nicht....
Im Anhang eine Datei mit xxxxxxxxxxxxxxxxxxxx_INVA14. Vielleicht siehst
Du da ja noch was?
Kann man den Safari nicht dazu zwingen das nur in einem Paket zu
versenden ?
Oh mann, das sieht nicht sehr stark nach zielgerichteter Problemlösung
aus.
HTML ist nicht so kompliziert, lern es selber, anstatt hier ständig
herumzufragen.
Simon K. schrieb:> Oh mann, das sieht nicht sehr stark nach zielgerichteter Problemlösung> aus.>> HTML ist nicht so kompliziert, lern es selber, anstatt hier ständig> herumzufragen.
Wo ist denn jetzt Dein Problem?
Ja, bestimmt frage ich hier sehr viel rum weil ich html und auch C bis
jetzt nur wenig behersche.
Ich bin damit erst vor einem Jahr angefangen und dieses im Schnitt
vielleicht täglich 15min.
Dafür, finde ich, habe ich es schon sehr weit gebracht.
Ich hoffe Du hast jetzt die Leute nicht vergrault die mir vielleicht in
der letzten Hürde helfen wollen. Die letzte Hürde die ich noch nehmen
muss ist die oben beschrieben Dropdownliste.
Vielleicht ist der Sascha noch hier und weiss evtl. noch etwas?
Grüße ...
Hallo,
also am HTML liegts sicher nicht, sondern eher am Stack auf dem AVR.
Zeig mal deinen Code wo du die Auswertung für deinen Parameter eingebaut
hast.
Sascha
Hallo,
die Abfrage für "INVA" erfolgt ja nur im Bereich von Zeile 386 " //
Numerische Textfelder finden" bis 432 wenn ich das richtig sehe.
Die Suchfunktion wird 2x parallel ausgeführt - das kann so nicht gehen,
wenn das so in FF funktionieren soll weiß ich auch nicht wieso. Du must,
wie weiter hinten auch, die Funktionen für die verschiedenen Seiten in
die
1
if(*http_entry[index].post_inval==0)
Bedingung einschließen.
die "OUT=..." Funktionen müsste dann aber eigentlich immer gehen?!
Ansonsten bau mal noch ein paar Debugausgaben ein, um zu sehen was noch
ausgeführt wird.
Sascha
Markus P. schrieb:> Simon K. schrieb:>> Oh mann, das sieht nicht sehr stark nach zielgerichteter Problemlösung>> aus.>>>> HTML ist nicht so kompliziert, lern es selber, anstatt hier ständig>> herumzufragen.>> Wo ist denn jetzt Dein Problem?
Problem ist zu viel gesagt.
> Ja, bestimmt frage ich hier sehr viel rum weil ich html und auch C bis> jetzt nur wenig behersche.
Ja, das tust du. Teilweise 3 Posts hintereinander. Wenn du so wenig
Erfahrung damit hast, würde ich mir erst mal ein leichteres Projekt
aussuchen.
> Ich hoffe Du hast jetzt die Leute nicht vergrault die mir vielleicht in> der letzten Hürde helfen wollen. Die letzte Hürde die ich noch nehmen> muss ist die oben beschrieben Dropdownliste.
Und dann? Hast du dann auch was gelernt? Oder einfach nur die
Lösungsvorschläge anderer Leute ausprobiert ohne mal etwas selber
nachzudenken oder zu suchen.
Sascha Weber schrieb:> Hallo,>> die Abfrage für "INVA" erfolgt ja nur im Bereich von Zeile 386 " //> Numerische Textfelder finden" bis 432 wenn ich das richtig sehe.> Die Suchfunktion wird 2x parallel ausgeführt - das kann so nicht gehen,> wenn das so in FF funktionieren soll weiß ich auch nicht wieso. Du must,> wie weiter hinten auch, die Funktionen für die verschiedenen Seiten in> die
1
if(*http_entry[index].post_inval==0)
> Bedingung einschließen.>> die "OUT=..." Funktionen müsste dann aber eigentlich immer gehen?!>> Ansonsten bau mal noch ein paar Debugausgaben ein, um zu sehen was noch> ausgeführt wird.>> Sascha
Echt Klasse... du brachtest mich auf den richtigen Weg und hast mir gut
geholfen. Jetzt funktioniert es ...
Großes Dankeschön ...