Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Comportamento anomalo Jquery in lettura valore campo text

    Buongiorno a tutti. Ho questo codice:
    codice HTML:
    <form id="myform"><input type="text" id='mem' name='mem' value=''/></form>
    <script>var query = " bla bla bla ";
    $.ajax({    type: "POST",    url: "interfacciaDbAjax.php",    data: "QUERY="+query,    success: function(response){        $("#mem").val(response);    }});
    
    alert($("#mem").val()); //QUESTO NON FUNZIONA!!</script>
    La chiamata ajax funziona correttamente e il campo text viene valorizzato.
    Ma l'alert mi riproduce una finestra di alert vuota.
    Dove sbaglio?!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Probabilmente perché l'alert scatta prima che la chiamata ajax sia terminata, togli l'alert e vedi la console del browser per monitorare le chiamate ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Probabilmente perché l'alert scatta prima che la chiamata ajax sia terminata, togli l'alert e vedi la console del browser per monitorare le chiamate ajax
    Hai perfettamente ragione! Che domanda cretina che ho fatto!!!
    Ora però mi si pone un problema, che deriva dalla mia non ottima conoscenza del linguaggio (normalmente programmo in php)...

    devo eseguire una serie piuttosto lunga di chiamate ajax, ciascuna basata sui risultati della chiamata ajax precedente... devo quindi utilizzare una intricata sequenza nidificata o c'è un modo più lineare per agire?

    del tipo
    - chiamata ajax, metto il risultato in una qualche variabile globale;
    - quando il risultato è disponibile: if sulla variabile globale e in base al valore faccio un'altra chiamata ajax e così via.

    Se anche utilizzassi una variabile globale, devo comunque attendere il risultato della ajax per proseguire!! Sto dicendo eresie?!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Io farei le chiamate a cascata 1° chiamata al response positivo lancio subito la 2° chiamata etc... altrimenti dovresti fare chiamate sincrone* (finché non ha finito il server il browser resta bloccato) invece che asincrone (il browser non è bloccato e si può proseguire con altre azioni)


    *Questo tipo di chiamate vanno gestite con giudizio e competenza perché potrebbero bloccare il browser
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.