Salvare dati in locale e sincronizzarli...

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
Per eliminare TUTTI i valori dal localStorage usa:
Codice:
localStorage.clear();

mentre per eliminare solo i valori di una certa key allora:
Codice:
localStorage.removeItem(key)

Comunque bastava che facevi una ricerca su internet e trovavi subito questa risposta! :)
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Per eliminare TUTTI i valori dal localStorage usa:
Codice:
localStorage.clear();

mentre per eliminare solo i valori di una certa key allora:
Codice:
localStorage.removeItem(key)

Comunque bastava che facevi una ricerca su internet e trovavi subito questa risposta! :)

Forse mi sono espresso male (se vedi nello script che ho postato, ho già quella funzione come commento), io voglio che la key da eliminare sia dinamica, nel senso che deve essere automatica. Quando premo sul pulsante salva dopo che la query mysql sia andata a buon fine me la elimina...
 

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
prova a cambiarequesto:
Codice:
var id = $(this).find("id_key").attr("idid_key");
localStorage.removeItem("id");
con:
Codice:
var id = $(this).find("id_key").val();
localStorage.removeItem(id);
 

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
allora io ho capito che tu quando inserisci i dati nel form le invii alla pagina php e se tutto va bene ti deve cancellare i dati.
Allora se ogni volta che invii i dati (cioè un intero "record" per volta) te li deve eliminare allora puoi usare direttamente localStorage.clear(); che ti cancella tutto direttamente!
 

Bivio

Utente Attivo
19 Mag 2010
91
0
6
allora io ho capito che tu quando inserisci i dati nel form le invii alla pagina php e se tutto va bene ti deve cancellare i dati.
Allora se ogni volta che invii i dati (cioè un intero "record" per volta) te li deve eliminare allora puoi usare direttamente localStorage.clear(); che ti cancella tutto direttamente!

Se vai qui http://geks.altervista.org/app/ e lo provi forse ti sarà più chiaro. Ogni volta che si salva una forma si genera nel locaStorage una cosa del genere:

1391958290411 - Nome - 09/02/2014 - Sera - Nota 1
1391958290411 - Pippo - 09/02/2014 - mattina - Nota 2
1391958290411 - Franco - 09/02/2014 - pomeriggio - Nota 3

Io voglio salva gli array singolarmente, quindi quando premo salva della prima riga, mi salva quella riga e quando termino il tutto dovrebbe fare una cosa del genere localStorage.removeItem(1391958290411) eliminando quindi la prima riga e dando la possibilità di salvare le altre...

L'idea di eliminare tutto non va bene visto che ho la necessità di salvare altri dati che non devono essere eliminati...
 

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
aaah ok! allora uno dei problemi è che ogni volta che salvi un 'record' la funzione visualizza() ti genera dell'html con elementi che hanno lo stesso id! Ricorda che ogni id deve essere unico in tutta la pagina!
Inoltre alla fine di $("#logForm").submit(function ecc.. ); ho aggiunto return false; perché sennò ogni volta che salvavi il nuovo 'record' ti si ricaricava la pagina mentre adesso non lo fa più! :)
Comunque ho fatto altre modifiche e adesso dovrebbe funzionare! :)
ecco qua tutto il codice:
HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Home</title>
<script src="js/jquery-1.11.0.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<form id="logForm">
    	<label>Utente:</label>
    <input name="utente" type="text" id="utente"><br>
    	<label>Data servizio:</label>
        <input type="date" name="dt_servizio" id="dt_servizio"><br>
        <label>Turno:</label>
        <select name="turno" id="turno">
            <option value="0" selected>Seleziona</option>
            <option value="mattina">Mattina</option>
            <option value="pomeriggio">Pomeriggio</option>
            <option value="sera">Sera</option>
            <option value="notte">Notte</option>
        </select><br>
        <label>Nota:</label>
        <input name="nota" type="text" id="nota"><br>
        <input type="submit" value="Salva">
    </form>
    <!--<div id="ris_nome" class="box"></div>
    <div id="ris_email" class="box"></div>
    <div id="ris_note" class="box"></div>-->
    <ul id="listaDati">
    </ul>
    <div id="okk">
    </div>
<!-- SCRIPT JS -->
<script type="text/javascript">
$(document).ready(function() {
	visualizza()
		$("#logForm").submit(function(){
			var newDate = new Date();
			var itemId = newDate.getTime();
		
			var values = new Array();
			var utente = $("input[name='utente']").val();
			var dt_servizio = $("input[name='dt_servizio']").val();
			var turno = $("select[name='turno']").val();
			var nota = $("input[name='nota']").val();
	
			values.push(utente);
			values.push(dt_servizio);
			values.push(turno);
			values.push(nota);

			if (utente == "" || dt_servizio == "" || turno == "" || nota == "") {
				alert('Compilare tutti i campi');
			} else {
				try {
					localStorage.setItem(itemId, values.join(';'));
					//alert('Dati Salvati');
					
				} catch (e) {
					if (e == QUOTA_EXCEEDED_ERR) {
						alert('Quota localStorage superata!');
					}
				}
				visualizza()
			}

			// Aggiunto return false; per non far aggiorare la pagina una volta salvato il nuovo 'record'
			return false;
		});
});

////////////////////////////////////////////////////////////////////////////////////////////////
function visualizza() {
   	var tuttiDati = "";
   	var i = 0;
	var logLength = localStorage.length-1;
	
    for (i = 0; i <= logLength; i++) {
		var itemKey = localStorage.key(i);
		//values sarebbe l'array che contiene tutti i dati
		var values = localStorage.getItem(itemKey);
		values = values.split(";");
		var utente = values[0];
		var dt_servizio = values[1];
		var turno = values[2];
		var nota = values[3];

		// Al posto di 'id' come attributo ho messo 'class' perché senno andava in conflitto con 
		// le altre righe che generavi dopo!
		// Inoltre ho aggiunto l'attributo onclick sul bottone per eliminare il 'record' perché sennò
		// quando andava a creare la nuova riga, la funzione $('.bottone').click( ecc... ) non veniva riconosciuta
		// in quanto viene generata dopo che la pagina è stata caricata! infatti $(document).ready(function(){ ecc.. });
		// l'ho tolto in quanto dopo il bottone non veniva più riconosciuto/trovato e l'evento del click non veniva eseguito!
		tuttiDati += '<li>'+ '<form action="#" method="post" class="dati_sincro">'
		+ '<input name="id_key" type="text" readonly class="id_key" value="'+ itemKey +'">' + '  -  '  
		+ '<input name="utente" type="text" readonly class="utente" value="'+ utente +'">' + '  -  '   
		+ '<input name="dt_servizio" type="text" readonly class="dt_servizio" value="'+ dt_servizio +'">' + '  -  '
		+ '<input name="turno" type="text" readonly class="turno" value="'+ turno +'">' + '  -  '
		+ '<input name="nota" type="text" readonly class="nota" value="'+ nota +'">' + '  -  '
		+ '<input type="button" class="bottone" value="Salva" onclick="elimina(this)">'
		+'</li>'+'</form>';
	}

	$("#listaDati").html(tuttiDati);
}
function elimina(elemento){

	var dati = $(elemento).parent(".dati_sincro").serialize(); 
  
	//invio
	$.ajax({
	type: "POST",
	url: "salva.php",
	data: dati,
	dataType: "html",
	success: function(msg)
	{
		$("#okk").html(msg);
		
		// Qua prendo l'id del 'record'.
		var id = $(elemento).siblings(".id_key").val();
		localStorage.removeItem(id);
		// richiamo la funzione per 'aggiornare' l'html della pagina
		visualizza();

		alert('eliminato');
	},
	error: function()
	{
		alert("Chiamata fallita, riprovare...");
	}
	 
	});//ajax
	
}

</script>
</body>
</html>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
L [PHP] Salvare csv da form dati PHP 5
M Salvare i dati nel db e aprire altra pagina php PHP 7
S [PHP] Salvare dati tabella in formato exel PHP 0
P Salvare i dati restituiti dopo autenticazione OAuth2 Javascript 0
C Salvare dati form in un file di testo PHP 1
S Salvare dei dati in una determinata tabella in base al select che l'utente seleziona PHP 8
G salvare dati array PHP 7
C Salvare dati inviati tramite form in un array PHP 2
P Salvare dati da pagina web .NET Framework 2
M JavaScript: lanciare funzione ASP per salvare dati in database Javascript 0
P Salvare dati da un db Classic ASP 2
neo996sps [Visual Basic Express] Salvare i dati in un DB Access Programmazione 1
M Salvare i dati di un form su database... HTML e CSS 2
P C# Salvare una colonna del DataGridView XML 0
E fpdf salvare e aprire il file PHP 4
I salvare testo chat PHP 4
B Selezionare un'immagine e salvare la selezione Photoshop 3
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 7
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
E Salvare immagini PHP 0
L salvare codice html in mysql PHP 3
L salvare somma con sottrazione PHP 1
M Salvare coordinate Maps nel DB PHP 2
D SALVARE "MASCHERA" + "ALLEGATO PDF" IN UN UNICO PDF MS Access 0
A Twitter aggiungere tweet a campagna esistente o salvare pubblico Social Media Marketing 0
D Salvare in diversi campi mysql con diversi ID PHP 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
M Salvare JSONObject in Shared Preference Sviluppo app per Android 0
M [PHP] Salvare campo di una tabella in una variabile PHP 14
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
C Photoshop CS 6 salvare una modifica Photoshop 0
A Salvare immagine ridimensionata in MySql con GD PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
M Salvare pagine web come segnalibro con istruzioni javascript Javascript 0
L Salvare posizione maps Sviluppo app per Android 0
G [PHP] SALVARE RECORD ESTRATTI DA DATABASE PHP 6
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
P [SOLVED] salvare il TCPDF output in mysql e rivisualizzarlo PHP 3
M Form ASP su MsSQL salvare 2 campi in 1 Classic ASP 4
V [PHP] Salvare campo radio in db e leggerlo PHP 15
Benix89 Come salvare radio button selezionato Magento 1
Benix89 Salvare radio button selezionato PHP 2
P Come salvare il proprio diario di fb Discussioni Varie 0
M Salvare in tabella link file importato PHP 1
F Cliccare e salvare src immagine HTML e CSS 2
M Cartella predefinita dove salvare i backup PHP 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 7

Discussioni simili