• Home
  • Forum
  • Fare Web
  • Javascript

Salvare dati in locale e sincronizzarli...

  • Creatore Discussione Creatore Discussione Bivio
  • Data di inizio Data di inizio 10 Gen 2014
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
L

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
  • 9 Feb 2014
  • #21
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!
 
B

Bivio

Utente Attivo
19 Mag 2010
91
0
6
  • 9 Feb 2014
  • #22
LorenzoPi ha scritto:
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!
Clicca per allargare...

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...
 
L

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
  • 9 Feb 2014
  • #23
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);
 
B

Bivio

Utente Attivo
19 Mag 2010
91
0
6
  • 9 Feb 2014
  • #24
Niente non va...
 
L

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
  • 9 Feb 2014
  • #25
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!
 
B

Bivio

Utente Attivo
19 Mag 2010
91
0
6
  • 9 Feb 2014
  • #26
LorenzoPi ha scritto:
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!
Clicca per allargare...

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...
 
L

LorenzoPi

Utente Attivo
21 Gen 2014
98
0
0
  • 9 Feb 2014
  • #27
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: 9 Feb 2014
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

L
[PHP] Salvare csv da form dati
  • luigi777
  • 29 Mag 2018
  • PHP
Risposte
5
Visite
3K
PHP 30 Mag 2018
luigi777
L
M
Salvare i dati nel db e aprire altra pagina php
  • Max61
  • 10 Apr 2017
  • PHP
Risposte
7
Visite
3K
PHP 12 Apr 2017
Max61
M
S
[PHP] Salvare dati tabella in formato exel
  • samurai.sette
  • 19 Set 2016
  • PHP
Risposte
0
Visite
2K
PHP 19 Set 2016
samurai.sette
S
P
Salvare i dati restituiti dopo autenticazione OAuth2
  • parsifal
  • 10 Mar 2016
  • Javascript
Risposte
0
Visite
2K
Javascript 10 Mar 2016
parsifal
P
C
Salvare dati form in un file di testo
  • controsenso
  • 24 Gen 2015
  • PHP
Risposte
1
Visite
11K
PHP 25 Gen 2015
controsenso
C
S
Salvare dei dati in una determinata tabella in base al select che l'utente seleziona
  • Soulfearor
  • 16 Set 2014
  • PHP
Risposte
8
Visite
3K
PHP 18 Set 2014
Altutto
A
G
salvare dati array
  • gatto80
  • 9 Mar 2013
  • PHP
Risposte
7
Visite
2K
PHP 11 Mar 2013
Longo8
C
Salvare dati inviati tramite form in un array
  • c02y
  • 12 Dic 2012
  • PHP
Risposte
2
Visite
4K
PHP 12 Dic 2012
c02y
C
P
Salvare dati da pagina web
  • pfca
  • 21 Ago 2012
  • .NET Framework
Risposte
2
Visite
2K
.NET Framework 27 Ago 2012
pfca
P
M
JavaScript: lanciare funzione ASP per salvare dati in database
  • marcoa842
  • 9 Mag 2011
  • Javascript
Risposte
0
Visite
2K
Javascript 9 Mag 2011
marcoa842
M
P
Salvare dati da un db
  • polimnia88
  • 19 Mag 2010
  • Classic ASP
Risposte
2
Visite
1K
Classic ASP 20 Mag 2010
Paolo69
[Visual Basic Express] Salvare i dati in un DB Access
  • neo996sps
  • 7 Lug 2007
  • Programmazione
Risposte
1
Visite
5K
Programmazione 17 Lug 2007
francovb
F
M
Salvare i dati di un form su database...
  • m.eccel
  • 30 Nov 2006
  • HTML e CSS
Risposte
2
Visite
5K
HTML e CSS 1 Dic 2006
Supercolore
S
I
salvare con ajax user_id name msg
  • Imperor
  • 21 Mag 2024
  • PHP
Risposte
0
Visite
1K
PHP 21 Mag 2024
Imperor
I
P
C# Salvare una colonna del DataGridView
  • Pacifico
  • 27 Mar 2024
  • XML
Risposte
0
Visite
3K
XML 27 Mar 2024
Pacifico
P
E
fpdf salvare e aprire il file
  • Emanuele85
  • 11 Mar 2024
  • PHP
Risposte
4
Visite
2K
PHP 14 Mar 2024
Emanuele85
E
I
salvare testo chat
  • Imperor
  • 28 Gen 2024
  • PHP
Risposte
6
Visite
2K
PHP 25 Mag 2024
Imperor
I
B
Selezionare un'immagine e salvare la selezione
  • biasutti
  • 12 Apr 2022
  • Photoshop
Risposte
3
Visite
2K
Photoshop 13 Apr 2022
WmbertSea
Salvare una immagine che si trova su porta TCP 8080 di altro sito
  • Stex1967
  • 23 Giu 2021
  • PHP
Risposte
7
Visite
2K
PHP 30 Giu 2021
Stex1967
L
salvare una immagine elaborata in canvas
  • lanvoel39
  • 17 Mar 2021
  • Javascript
Risposte
1
Visite
2K
Javascript 18 Mar 2021
lanvoel39
L
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • Javascript
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?