Scusate, ma siccome non posso perdere ancora tanto tempo su questa cosa, avrei deciso di procedere in modo meno "intelligente" ma forse più veloce...
Torno alla mia pagina con 25 righe e 25 form, con 25 tasti submit...
Insomma una pagina così:
il file ajax_ricette:
Questa struttura non è bella come quella di cui stavamo discutendo, e comunque ha un problema:
la prima riga mi registra correttamente il codice lezione (che arriva dalla pagina precedente) e il nome dell'ingrediente.
Nella colonna quantita mi mette zero (io inserisco un numero nel form) e nella colonna della misura invece di Kg o gr mi mette la quantita...
la seconda riga mi riporta correttamente il numero ricetta e basta...
Magari se risolvo questa cosa posso andare avanti.
Grazie per l'aiuto
Torno alla mia pagina con 25 righe e 25 form, con 25 tasti submit...
Insomma una pagina così:
PHP:
<?php
session_start();
//se non c'è la sessione registrata
mb_internal_encoding('UTF-8');
if (!$_SESSION['autorizzato']) {
echo "<h1>Area riservata, accesso negato.</h1>";
echo "Per effettuare il login clicca <a href='index.php'><font color='blue'>qui</font></a>";
die;
}
//Altrimenti Prelevo il codice identificatico dell'utente loggato
$cod = $_SESSION['cod']; //id cod recuperato nel file di verifica
$codicericetta = $_GET['codicericetta'];
$titolo = $_GET['titolo'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Inserimento Ricette per le Dispense</title>
<link href="backoffice.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="inserimentoric" class="testi">
<table width="800px" border="1" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC">
<tr>
<td colspan="4"><p align="center"><b><? echo $codicericetta; ?></b><br><? echo $titolo; ?></p><hr></td>
</tr>
<tr>
<td colspan="4"><b>Ingredienti:</b><br></td>
</tr>
<tr>
<td>Ingrediente</td>
<td>Quantità</td>
<td>Un.Mis.</td>
<td></td>
</tr>
<tr>
<form id="tabella" name="tabella" method="post" action="">
<td><input name="ingrediente1" id="ingrediente1" type="text" size="50" /></td>
<td><input name="quantita1" id="quantita1" type="text" size="4" /></td>
<td><select name="misura1" id="misura1" />
<option value="" selected="selected">===</option>
<option value="Kg.">Kg</option>
<option value="Gr.">Gr.</option>
<option value="Lt.">lt</option>
<option value="ml">ml</option>
<option value="N.">N.</option>
<option value="Bicchiere/i">Bicchiere/i</option>
<option value="QB">QB</option>
</select>
</td>
<td align="center"><input type="hidden" name="idricetta1" id="idricetta1" value="<? echo $codicericetta; ?>" /><br>
<input name="conferma1" type="submit" id="conferma1" value=" Registra " />
<div id="risultato"></div></p></td>
</form>
</tr>
<tr>
<form id="tabella2" method="post" action="">
<td><input name="ingrediente2" type="text" size="50" /></td>
<td><input name="quantita2" type="text" size="4" /></td>
<td><select name="misura2" />
<option value="" selected="selected">===</option>
<option value="Kg.">Kg</option>
<option value="Gr.">Gr.</option>
<option value="Lt.">lt</option>
<option value="ml">ml</option>
<option value="N.">N.</option>
<option value="Bicchiere/i">Bicchiere/i</option>
<option value="QB">QB</option>
</select>
</td>
<td align="center"><input type="hidden" name="idricetta2" id="idricetta2" value="<? echo $codicericetta; ?>" /><br>
<input name="conferma2" type="submit" id="conferma2" value=" Registra " />
<div id="risultato2"></div></p></td>
</form>
</tr>
<tr>
<td colspan="3"><br><b>Procedimento:</b><br>
<textarea name="ingredienti" cols="110" rows="35"></textarea>
</td>
<td align="center"><input type="hidden" name="idricetta" id="idricetta" value="<? echo $codicericetta; ?>" /><br>
<input name="procedimento" type="submit" id="procedimento" value=" Inserisci procedimento " /></p></td>
</tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="ajax_ricette.js"></script>
</div>
</body>
</html>
il file ajax_ricette:
Codice:
$(document).ready(function() {
//Esegui la funzione quando il form 1 viene inviato
$('#tabella').submit(function(e) {
// Con il comando qui sotto evito che venga eseguito il comando "action" del <form>
// Da notare che il parametro "e" si trova come parametro della funzione qui sopra
e.preventDefault();
//recupero il valore degli input
var ingrediente = $('#ingrediente1').val();
var quantita = $('#quantita1').val();
var misura = $('#misura1').val();
var idricetta = $('#idricetta1').val();
//passo alla chiamata asincrona
registrami(idricetta, ingrediente, quantita, misura);
});
//Esegui la funzione quando il form 2 viene inviato
$('#tabella2').submit(function(e) {
// Con il comando qui sotto evito che venga eseguito il comando "action" del <form>
// Da notare che il parametro "e" si trova come parametro della funzione qui sopra
e.preventDefault();
//recupero il valore degli input
var ingrediente2 = $('#ingrediente2').val();
var quantita2 = $('#quantita2').val();
var misura2 = $('#misura2').val();
var idricetta2 = $('#idricetta2').val();
//passo alla chiamata asincrona
registrami2(idricetta2, ingrediente2, quantita2, misura2);
});
//la chiamata ajax
function registrami(idricetta, ingrediente, quantita, misura) {
$.ajax({
url: 'registraingrediente.php',
method: 'POST',
data: {ric:idricetta, ingr:ingrediente, quant:quantita, mis:misura},
dataType: 'text',
success: function(feedback) {
$("div#risultato").html(feedback);
}
});
}
function registrami2(idricetta2, ingrediente2, quantita2, misura2) {
$.ajax({
url: 'registraingrediente.php',
method: 'POST',
data: {ric:idricetta2, ingr:ingrediente2, quant:quantita2, mis:misura2},
dataType: 'text',
success: function(feedback) {
$("div#risultato2").html(feedback);
}
});
}
});
Questa struttura non è bella come quella di cui stavamo discutendo, e comunque ha un problema:
la prima riga mi registra correttamente il codice lezione (che arriva dalla pagina precedente) e il nome dell'ingrediente.
Nella colonna quantita mi mette zero (io inserisco un numero nel form) e nella colonna della misura invece di Kg o gr mi mette la quantita...
la seconda riga mi riporta correttamente il numero ricetta e basta...
Magari se risolvo questa cosa posso andare avanti.
Grazie per l'aiuto