Ciao a tutti,
mi piacerebbe evitare il problema di quando un utente inserisce o modifica dei dati in un form e poi per errore o altro esce con tasto precedente o in altro modo senza fare il salvataggio .
C'è qualche funzione automatica che può evitare che questo succeda ?
Grazie
Evitare perdita dati in uscita da form
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Re: Evitare perdita dati in uscita da form
Ciao,
in fase di inserimento di un nuovo record non mi viene in mente alcuna soluzione automatica.
Forse con codice Javascript scritto a mano si potrebbe aprire un alert del tipo "Dati non salvati, sei sicuro di voler cambiare pagina?".
In caso di aggiornamento è più semplice: potresti eseguire una funzione di aggiornamento sull'evento AJAX onchange di ogni singolo campo.
In qiuesto modo anche cambiando pagina senza salvare i dati sarebbero aggiornati.
in fase di inserimento di un nuovo record non mi viene in mente alcuna soluzione automatica.
Forse con codice Javascript scritto a mano si potrebbe aprire un alert del tipo "Dati non salvati, sei sicuro di voler cambiare pagina?".
In caso di aggiornamento è più semplice: potresti eseguire una funzione di aggiornamento sull'evento AJAX onchange di ogni singolo campo.
In qiuesto modo anche cambiando pagina senza salvare i dati sarebbero aggiornati.
-
- Messaggi: 116
- Iscritto il: 06 ott 2014, 08:56
Re: Evitare perdita dati in uscita da form
Ciao Fabio e grazie della rispo.
Stavo provando ad applicare questa soluzione che ho trovato in vecchi post del forum.
Ma purtroppo non cambia nulla . Con tasto redir a precedente form/grid perdo i dati modificati sia in insert che edit.
Purtroppo io non capisco se il codice qui sotto è standard o se deve esser modificato per la mia form.
Add javascript for Form->OnSubmit so there will be no prompt if the record is saved:
function sc_form_onsubmit()
{
Haschanged = 0;
}
For every field that you want to “monitor” add javascript Field->OnChange
function sc_MyField_onchange()
{
Haschanged = 1;
}
OnApplicationInit
//Close PHP
?>
<script>
var Haschanged = 0;
if(window.addEventListener)
window.addEventListener('beforeunload', function( event ) {if(Haschanged == 1) event.returnValue = 'Message to display when leaving';});
else
window.attachEvent('beforeunload', function( event ) {if(Haschanged == 1) event.returnValue = 'Message to display when leaving';});
</script>
<?php
//Reopen PHP
Stavo provando ad applicare questa soluzione che ho trovato in vecchi post del forum.
Ma purtroppo non cambia nulla . Con tasto redir a precedente form/grid perdo i dati modificati sia in insert che edit.
Purtroppo io non capisco se il codice qui sotto è standard o se deve esser modificato per la mia form.
Add javascript for Form->OnSubmit so there will be no prompt if the record is saved:
function sc_form_onsubmit()
{
Haschanged = 0;
}
For every field that you want to “monitor” add javascript Field->OnChange
function sc_MyField_onchange()
{
Haschanged = 1;
}
OnApplicationInit
//Close PHP
?>
<script>
var Haschanged = 0;
if(window.addEventListener)
window.addEventListener('beforeunload', function( event ) {if(Haschanged == 1) event.returnValue = 'Message to display when leaving';});
else
window.attachEvent('beforeunload', function( event ) {if(Haschanged == 1) event.returnValue = 'Message to display when leaving';});
</script>
<?php
//Reopen PHP
Re: Evitare perdita dati in uscita da form
non per polemicaGiovannino ha scritto: 17 nov 2022, 10:29 Ciao a tutti,
mi piacerebbe evitare il problema di quando un utente inserisce o modifica dei dati in un form e poi per errore o altro esce con tasto precedente o in altro modo senza fare il salvataggio .
C'è qualche funzione automatica che può evitare che questo succeda ?
Grazie
se ho capito bene si tratta del uso del tasto 'indietro' posto sul menu del browser .
NON esiste una vera soluzione per le finestre non popup e il motivo mi pare ovvio va quindi responsabilizzato l'utente, in fondo qualcosa dovrà pur fare o si pretende che siano tutte macchine?
Polemiche a parte l'utente deve essere libero di fare le sue scelte e di risponderne , ci sono dei limiti ai controlli e a certi automatismi che si possono attuare specie in ambienti "aperti" come quelli dei browser o no?
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase
-
- Messaggi: 116
- Iscritto il: 06 ott 2014, 08:56
Re: Evitare perdita dati in uscita da form
Ciao Rino,
grazie. Sono d'accordo ma come dicono gli inglesi ... è meglio un approccio idiot proof
Se può essere utile a qualcuno nel codice del bottone di Precedente ho inserito questo.
var ans = confirm("Vuoi salvare le tue modifiche ?");
if(ans == true)
{
nm_atualiza('alterar');
//return false;
window.location.replace("../grid_pipeline/");
}
else
{
window.location.replace("../grid_pipeline/");
}
grazie. Sono d'accordo ma come dicono gli inglesi ... è meglio un approccio idiot proof
Se può essere utile a qualcuno nel codice del bottone di Precedente ho inserito questo.
var ans = confirm("Vuoi salvare le tue modifiche ?");
if(ans == true)
{
nm_atualiza('alterar');
//return false;
window.location.replace("../grid_pipeline/");
}
else
{
window.location.replace("../grid_pipeline/");
}
Chi c’è in linea
Visitano il forum: Ahrefs [Bot] e 15 ospiti