Visualizzazione risultati 1 fino 9 di 9

Discussione: Form login dinamico

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Form login dinamico

    Ho una form di login. Quando l'utente clicca su OK vorrei che venisse richiamato lo script che controlla i dati del login e in caso di successo vorrei che il form fosse sostituito da un messaggio (ad esempio "benvenuto $utente"). Il tutto senza ricaricare la pagina (cambiando solo il form). Come faccio?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    per sapere qualdo si clicca sul pulsante "submit" e quindi quando si vuole inviare i dati della pagina, puoi utilizzare l'evento onSubmit.

    Per far visualizzare il messaggio senza ricaricare la pagina, devi utilizzare AJAX, oppure facilitandoti la vita con jQuery.

    Ovviamente per modificare un valore nella pagina (ad esempio un testo dentro un div...), da JS normale puoi utilizzare
    Codice:
    document.getElementById('nome_id').innerHTML = "Benvenuto!";
    ..oppure, più semplicemente, sempre tramite jQuery

    Ciao!
    Ultima modifica di alemoppo : 07-08-2010 alle ore 02.11.29

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Preferirei AJAX.
    Cosa metto nell'onSubmit?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    una funzione che, quando invocata, utilizza ajax, no?

    Tipo:
    Codice HTML:
    [...]
    <form onsubmit='funzione()'>[...]</form>
    [...]
    <script>
    function funzione()
    {
         richiesta ajax
    
         aggiorna le scritte...
    }
    </script>
    [...]
    Ciao!

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    D'accordo ma siccome non sono ferrato in AJAX mi potresti abbozzare la funzione?

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    Sinceramente ajax non lo uso da parecchio... l'ho usto soltanto epr il sito alemoppo...

    Adesso uso jQuery che è molto più facile e più pulito...

    Comunque, se non ricordo male, in ajax era una cosa del genere:

    Codice HTML:
    document.getElementById('<nome_div>').innerHTML = "Caricamento in corso; attendere...";
    		var myRequest = null;
    		function CreateXmlHttpReq(handler) {
    			var xmlhttp = null;
    			try {
    				xmlhttp = new XMLHttpRequest();
    			} catch(e) {
    				try {
    						xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    				} catch(e) {
    						xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    				}
    			}
    			xmlhttp.onreadystatechange = handler;
    			return xmlhttp;
    		}
    		
    		function funzione()
    		{
    			if(myRequest.readyState == 4 && myRequest.status == 200)
    			{
    				document.getElementById('<nome_div>').innerHTML = "Operazione avvenuta!";
    			}
    		}
    		myRequest = CreateXmlHttpReq2(funzione);
    		myRequest.open("POST","pagina.php?valore=x&rand="+Math.random());
    		myRequest.send(null);
    ...il Math.random() ci va per IE, perché lui nota che fai una stessa richiesta uguale alla precedente e quindi non la esegue nemmeno ritornando il valore della richiesta vecchia...

    p.s. molto probabilmente non funziona... l'ho riguardato dal mio sito (alemoppo)...

    Comunque io l'ho imparato dalla pagina linkata sopra...

    E comunque, jQuery è parecchio più semplice

    Ciao!

  7. #7
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Supponiamo di non doverci preoccupare della compatibilità del browser con ajax.
    Codice:
    var ajax=new XMLHttpRequest();
    Ora devo inviare nome utente e password letti dal form allo script php che verifica i dati...come proseguo?

  8. #8
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Stiamo facendo confusione. Ajax non è un linguaggio a sè stante e nemmeno jQuery.

    Ajax è una tecnologia utilizzata per creare applicazioni dinamiche.
    jQuery è un framework javascript, che come ha detto alemoppo è facile da utilizzare ma soprattutto è cross-browser.

    Quindi la scelta non è ajax o jquery, ma framework o non framework...
    Ultima modifica di javascripter : 07-08-2010 alle ore 16.57.35

  9. #9
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    non voglio utilizzare framework, infatti stavo cercando di costruire il codice da zero (con il vostro aiuto) :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •