Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Auto submit form

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    170

    Auto submit form

    Buongiorno forum,
    Ho scritto due banali righe di codice per far si che il mio form si salvi automaticamente una volta compilati i dati..


    codice:
    $('.inputf1').on("focusout",function(){ //quando passo al focus di un altro input
    	$('form#formUno').submit(); // salva il form
    });

    funziona correttamente però quando passo al campo input successivo si salva il form e devo cliccare un'altra volta per selezionarlo.. Come posso migliorare per evitare il doppio click sul campo input? si può evitare ajax?


    Grazie mille

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se chiarisci il concetto di "una volta compilati i dati" forse ti si puo' aiutare... intendi che tutti i campi del form sono stati valorizzati? o quando viene compilato e lasciato l'ultimo?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    170
    Vero, per facilità trasmetto il link
    Se provi ad esempio a modificare i campi referente puoi notare che devi cliccare due volte per iniziare a scrivere. Al primo focus salva il form e solo al secondo puoi scrivere..

    Grazie

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se usi un evento che si verifica per ogni campo e' ovvio che ogni volta che cambi campo il form venga inviato... devi scegliere un'altra logica ed usare un controllo che scatti su un solo campo (di solito l'ultimo) oppure nella gestione dell'evento verificare altre condizioni prima di far pertire il form (per esempio il completamento dei campi)

    Tieni presente che comunque in questo modo non consenti all'utente un eventuale correzione delle informazioni immesse, per ul presunto beneficio di funzionalita' che sinceramente non riesco ad individuare...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    170
    Vero hai ragione.. esigenze del cliente!
    Ho provveduto cmq ad implementare il codice:

    codice:
    var timeoutId;
    
    
    $('form input, form textarea').on('input propertychange change', function() {
        console.log('Textarea Change');
        
        clearTimeout(timeoutId);
        timeoutId = setTimeout(function() {
            // Runs 1 second (1000 ms) after the last change    
            saveToDB();
        }, 1000);
    });
    
    
    function saveToDB()
    {
        console.log('Saving to the db');
        form = $('form#stone-form, form#stone-form-due');
    	$.ajax({
    		url: "/land/process.php",
    		type: "POST",
    		data: form.serialize(), // serializes the form's elements.
    		beforeSend: function(xhr) {
                // Let them know we are saving
    			$('.form-status-holder').html('Salvataggio');
    		},
    		success: function(data) {
    			var jqObj = jQuery(data); // You can get data returned from your ajax call here. ex. jqObj.find('.returned-data').html()
                // Now show them we saved and when we did
                var d = new Date();
                $('.form-status-holder').html('Salvato' + d.toLocaleTimeString());
    		},
    	});
    }
    
    
    // This is just so we don't go anywhere  
    // and still save if you submit the form
    $('form#stone-form, form#stone-form-due').submit(function(e) {
    	saveToDB();
    	e.preventDefault();
    });
    Salva automaticamente i campi nome cognome cellulare ed email.. Come mai non salva P.IVA e Note??

    Grazie per il supporto ed il feedback

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Dato per assodato che una funzione che usa ajax non puo' "salvare" alcunche' sul server, devi verificare lato server quali campi e valori arrivano e controllare che il tuo db accetti campi con nome P:IVA e Note
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.