Forráskód Böngészése

Serializacja danych przekazania danych do zapisu danych z formularza (wgrywanie pliku csv)

dariusz.andryskowski 7 éve
szülő
commit
3595882f5d
2 módosított fájl, 22 hozzáadás és 7 törlés
  1. 9 3
      tools/Bocian.php
  2. 13 4
      tools/Bocian.php.view.js

+ 9 - 3
tools/Bocian.php

@@ -64,7 +64,7 @@ public function parseCsvFileAjax() {
 		$arrayRows = array();
 		$i = 0;
 
-		$viewFormHtml = '<div id="smad-window-modal" style="overflow-x: scroll;"><form method="POST" >';
+		$viewFormHtml = '<div id="smad-window-modal" style="overflow-x: scroll;"><form method="POST" id="formDataFromCsv" >';
 		foreach ($file as $line) {
 			 if ( $i == 0 ) {
 			 	$headCsv =  explode(';', $line);
@@ -77,7 +77,7 @@ public function parseCsvFileAjax() {
 			 	foreach ($arrayRows as $keyData => $rowData) {
 						// sprawdzenie czy ustawiony naglówek - jeśli nie to wyświetl komunikat
 						//	if ($headCsv[$keyData]) throw new Exception("Brak nagłówka w kolumnie " . ($keyData + 1) . "w pliku CSV.");
-						$viewFormHtml .= "<input type='text' name='item[$i]['".str_replace('"', '', $headCsv[$keyData])."']' value='".str_replace('"', '', $rowData )."' />";
+						$viewFormHtml .= "<input type='text' name='item[$i][$headCsv[$keyData]]' value='".str_replace('"', '', $rowData )."' />";
 					}
 					$viewFormHtml .= '</div><div style="margin: 20px 0;"></div>';
 			 }
@@ -103,6 +103,7 @@ public function parseCsvFileAjax() {
 	 * Funkcja ajax do odebrania danych z przesłanego formularza z parsowanego CSV
 	 */
 	public function saveFormCsvFileAjaxAction() {
+		Response::sendTryCatchJson(array($this, 'saveFormCsvFileAjax'), $args = 'JSON_FROM_REQUEST_BODY');
 		Response::sendTryCatchJson(array($this, 'saveFormCsvFileAjax'));
 	}
 
@@ -110,8 +111,13 @@ public function parseCsvFileAjax() {
 /**
  * Funkcja ajax do zapisania danych z przesłanego formularza z parsowanego CSV
  */
-	public function saveFormCsvFileAjax() {
+	public function saveFormCsvFileAjax($args) {
+		$formData = V::get('formData', '', $args);
 
+		parse_str($formData, $resultArrayFormdata);
+		//$formData = V::get('formData', '', $_REQUEST, '');
+		print_r($resultArrayFormdata);
+		//print_r($formData);
 		//todo: dane do zapisania z formularza
 	}
 

+ 13 - 4
tools/Bocian.php.view.js

@@ -172,8 +172,9 @@ function parseCsvFile( fileData ) {
 						 					return
 						 				}
 
-										// zapisanie danych 
-						 				var responseSaveData = saveFormCsvFileAjaxAction( dataForm );
+
+										// zapisanie danych
+						 				var responseSaveData = saveFormCsvFileAjaxAction();
 
 						 				console.log('TODO: data save from form', dataForm)
 						 				resolve('data save from form')
@@ -195,9 +196,17 @@ function parseCsvFile( fileData ) {
 /**
  * Funkcja zapisuje dane z formularza do wgrania pliku csv
  */
-function saveFormCsvFileAjaxAction( formData ) {
+function saveFormCsvFileAjaxAction() {
 	event.preventDefault();
 
+	var formDataFrom =	$("#formDataFromCsv").serialize();
+
+	formDataFrom = formDataFrom.replace(/%5B/g,"[");
+	formDataFrom = formDataFrom.replace(/%5D/g,"]");
+	
+//var formDataFrom =	$("#formDataFromCsv").serializeArray();
+console.log('dane z formularza formDataFrom ', formDataFrom );
+
 	fetch(URL_SAVE_FORM_CSV_FILE_AJAX, {
 	  method: 'POST',
 		credentials: 	'same-origin',
@@ -205,7 +214,7 @@ function saveFormCsvFileAjaxAction( formData ) {
 			'Content-Type': 'application/json'
 		},
 		body: JSON.stringify({
-			 formData: formData
+			 formData: formDataFrom
 		})
 	})
 	.then(function(response) {