Cześć.
Wysyłam sobie Ajaxem z jQuery formularz:
<script>
function cfg_gru_save(nvp) {
$.ajax({
url: nvp+"cfg_ajax.php",
type: "POST",
data: {func: "gru_save",
},
dataType: "json",
success: function(data,status) {
alert("Grupy zostały zmienione.");
},
error: function(xhr, status, errorThr) {
alert("Jakiś błąd.\n\nxhr: "+xhr+"\nStatus: "+status+"\nerrorThr: "+errorThr);
}
});
}
</script>
$gru_f = file($nvp."grupy.txt", FILE_IGNORE_NEW_LINES
); echo '<form id="gru_form" method="POST" action="">'; echo '<table cellpadding="0" cellspacing="1">'; for ($g=0; $g<count($gru_f); $g++) {
echo '<tr><td><input type="hidden" name="gru_id[]" value="'.$gru_l[0].'"><input type="text" value="'.$gru_l[1].'" name="gru_name[]"/></td></tr>'; }
echo '<tr><td><input type="button" value="Zmień" onclick="blur(); cfg_gru_save(\''.$nvp.'\')"/></td></tr>';
Jak zrobić, by w cfg_ajax.php uzyskać dane tego formularza w postaci łatwej do przetwarzania tablicy o strukturze array("gru_id"->array(...), "gru_name"=>array(...)) ?
Próbowałem już na różne sposoby, ale nie mogę dojść do rozwiązania:
<?function gru_save($form) {
$p = "";
//$form = str_replace("=","[]=",$form);
log_me("form", $form);
/*
ob_start();
var_dump($fr);
$frr = ob_get_clean();
*/
log_val("fr", $fr);
for ($f=0; $f<count($fr); $f++) {
$p.= "fr ".$fr['gru_id'][$f]."|".$fr['gru_name'][$f]."\n";
}
for ($f=0; $f<count($form['gru_id']); $f++) {
$p.= "form ".$form['gru_id']."|".$form['gru_name']."\n";
}
file_put_contents("grupy_test.txt", $p);
}
//=====================================
switch ($_POST['func']) {
case 'gru_save': gru_save($_POST['form']); break;
}
?>