arrays befüllen
alex
- javascript
0 derletztekick0 alex0 derletztekick0 alex
hallo zusammen,
ist es möglich verschidene x/y koordinaten, welche man nach jedem klick auf ein bild nacheinander erhält, in das selbe array (jeweils x/y) zu schreiben und dieses somit zu erweitern? falls nicht, gibts irgendwas in richtung hidden field, bzw. zwischenspeichern in cookies? es sollen die x/y koordinaten pro klick gesammelt werden und per submit verschickt werden.
zur veranschaulichung: http://fluid.devcon.cc/grid/test.htm
grüße, alex
Hallo Alex,
Jetzt weiss ich was Du meinst. Ja, entweder über ein hidden Feld oder, und das würde ich bevorzugen, Du verhinderst irgendwie, das sich die Seite neu lädt. Dann kannst Du später das Array übergeben.
Ansonsten musst Du alle Werte einfach mit an die URI mit ran hängen, das würde zwar bei vielen Punkten estwas komisch aussehen aber das sei ja mal egal.
Micha
Mit freundlichem Gruß
Micha
Jetzt weiss ich was Du meinst. Ja, entweder über ein hidden Feld oder, und das würde ich bevorzugen, Du verhinderst irgendwie, das sich die Seite neu lädt. Dann kannst Du später das Array übergeben.
d.h. wenn ich verhindere daß ich die Site neu lade dann kann ich per click Event ein bestehendes array um x bzw. y werte erweitern weil ja die Funktion nicht nochmal von neuem durchgegangen wird, richtig?
hm...irgendwie check ichs doch noch nicht
Ansonsten musst Du alle Werte einfach mit an die URI mit ran hängen, das würde zwar bei vielen Punkten estwas komisch aussehen aber das sei ja mal egal.
Wie macht man sowas geschickt? Und vor allem...gibts da eine Zeichenbegrenzung?...man weiß ja nie wieviel die Leute da so spasseshalber rumklicken
Hallo,
d.h. wenn ich verhindere daß ich die Site neu lade dann kann ich per click Event ein bestehendes array um x bzw. y werte erweitern weil ja die Funktion nicht nochmal von neuem durchgegangen wird, richtig?
Du musst Dir das so Vorstellen. Du hast ein globales Array, das außerhalb einer (der) Funktion definiert ist. An dieses Array hängst Du immer den nächten Klick (also die Koordinatenran). Über die aktuelle Größe des Arrays (also über length) kennst Du immer die Position, an der Du das neue X,Y Paar anhängen musst. Sowie Du jedoch die Seite neu lädst, ist alles futsch... Die Übergabe der Parameter über die URI geht dann natürlich auch nicht mehr...
hm...irgendwie check ichs doch noch nicht
Besser?
Wie macht man sowas geschickt?
Du merkst Dir temporär den String, der als Parameter übergeben wurde und hängst ihn wieder an die URI. Wie schreibst Du denn momentan die X und y Werte an die URI, das macht ja keine JavaScript-Funktion?
Und vor allem...gibts da eine Zeichenbegrenzung?...man weiß ja nie wieviel die Leute da so spasseshalber rumklicken
Ja, die gibt es, aber wieviel Dir da genau zur Verfügung stehen, weiss ich nciht, aber sicher andere hier...
Mit freundlichem Gruß
Micha
Du musst Dir das so Vorstellen. Du hast ein globales Array, das außerhalb einer (der) Funktion definiert ist. An dieses Array hängst Du immer den nächten Klick (also die Koordinatenran). Über die aktuelle Größe des Arrays (also über length) kennst Du immer die Position, an der Du das neue X,Y Paar anhängen musst. Sowie Du jedoch die Seite neu lädst, ist alles futsch... Die Übergabe der Parameter über die URI geht dann natürlich auch nicht mehr...
hm...irgendwie check ichs doch noch nicht
Besser?
um einiges besser ;O)
Wie macht man sowas geschickt?
Du merkst Dir temporär den String, der als Parameter übergeben wurde und hängst ihn wieder an die URI. Wie schreibst Du denn momentan die X und y Werte an die URI, das macht ja keine JavaScript-Funktion?
hängt anscheinend mit dem form-tag zusammen und dem darin befindlichen input type (image).
wenn ich also verhindere dass sich die site (also der code) reloaded und ich ein globales array verwende, so kann ich die jeweiligen koordinaten reinschreibn. dann brauch ich das ganze mit der URI ja nicht mehr, oder?
Hallo,
hängt anscheinend mit dem form-tag zusammen und dem darin befindlichen input type (image).
Aha, wusste ich gar nciht, naja, es scheint ja zu gehen... Bekommst Ddie Parameter auch, wenn man die Seite nicht reloaded - das wäre ja nun der Knackpunkt?
wenn ich also verhindere dass sich die site (also der code) reloaded und ich ein globales array verwende, so kann ich die jeweiligen koordinaten reinschreibn. dann brauch ich das ganze mit der URI ja nicht mehr, oder?
Ja, darauf läuft es dann (leider) hinaus. Da aber vorher nicht klar war, was Du genau wolltest (außer die Parameter auszulesen), war das eine möglich Lösung.
Du musst also ein Array erzeugen. Ein Array ist in JS nicht so streng definiert. Man muss nicht wie bspw. in Java die genaue Größe kennen, es verhält sich in JS scheinbar(!) so wie eine Art Liste.
var koordinaten = new Array();
nun musst Du eine Funktion haben, die auf einen Event reagiert zB onclick().
Dieser muss eine Funktion aufrufen. In dieser Fkt befüllst Du das Feld koordinaten immer weiter...
function getKoords( <ggf Parameter, wahrschenlich aber nicht> ) {
var count = koordinaten.length;
koordinaten[count] = new Array(2); // da zwei Koordinaten
koordinaten[count][0] = x; //x und y sind die Werte aus Deiner Karte...
koordinaten[count][1] = y;
return false;
}
Das sollte so die grundlegende Idee sein dazu
Mit freundlichem Gruß
Micha