# js array an php übergeben



## vandamp (5. Dezember 2010)

Hallo,

ich möchte aus einem Form, dass Checkboxen enthält, alle markierten mittels ajax Post übergeben.


```
function validate(form,UserID) {
var idlist = new Array;

with(document.getElementById(form)) {
     for(var i = 0; i < delmark.length; i++){
          if(delmark[i].checked) {
               idlist[i] = delmark[i].value;
               }
          }
}
if(idlist == "") {
alert("Wähle mindestens eine Nachricht aus.");
} else {
 if (confirm("Willst du diese Nachrichten wirklich löschen?") == true) {
	 alert(idlist); //schaut derzeit so aus (123,143)
	  $.post("work.php",{ action: "delmc", UserID : UserID, MID : idlist, a: form  } ) 
   }
   return;
}
return false;
}
```

irgendwie bekomme ich bei "MID : idlist" nie das ganze Array übergeben.
hat vielleicht jemand ne Idee, wie ich es anstellen könnte?


----------



## FipsTheThief (5. Dezember 2010)

Mhm ja da es sich um ein JS Array handelt musst es erst serialisieren , oder anders gesagt in einen String umwandeln und das dann mit php wieder zerlegen.

so ne Form könnte man sich vorstellen:

"schlüssel:wert,schlüssel:wert ..." wenn es assoziativ war, wenn es nen normales war einfach "wert1, wert2 ... "

Dies kannst auf PHP seiten dann relativ einfach wieder in ein Assoziatives Array bzw Array umwandeln.


----------



## vandamp (6. Dezember 2010)

Danke,

klingt gut hätte ich auch drauf kommen können.
Nach ein bisschen goggeln ist es genau, was ich gesucht habe. 
Habs jetzt zwar auf die schnelle nicht mehr hinbekommen, kann aber auch daran liegen, dass ich schon fast penne.
Werd mich morgen nochmal darum kümmern und ggf. meine Ergebnisse posten. 

gute nacht


----------



## Quaese (6. Dezember 2010)

Hi,

evtl. interessant könnte JSON sein. Schau dir mal die Methode *stringify* an.

Ciao
Quaese


----------



## vandamp (7. Dezember 2010)

Hmm irgendwie denk ich dass ich etwas falsch mache

var idlist = idlist.serializ();?

wenn ich es so vor dem post mache klappt es nicht hat jemand ne Ahnung warum?

Gute nacht


----------



## Quaese (7. Dezember 2010)

Hi,

wenn sich in *form* die Referenz auf das Formular befindet, sollten die Formularelemente wie folgt serialisiert werden:

```
idlist = $(form).serialize();
```
Mehr zu serialize findest du in der jQuery-Dokumentation.

Ciao
Quaese


----------

