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

    Più chiamate asincrone al solito evento

    Uso php e mysql.

    Vorrei venissero eseguite entrambe le chiamate, possibile? (una popola il campo1 l'altra il campo2)
    Allo stato attuale, al primo blur fà la chiamata1 e solo se riseleziono il campo e faccio di nuovo blur fà la chiamata2

    function funzione(a,b,c) {
    const xhttp = new XMLHttpRequest();
    xhttp.open('POST', 'risultato1.php?variabile1=valore1' , true);
    xhttp.send();
    xhttp.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
    document.form.campo1.value=this.responseText;
    }
    }
    const xhttp = new XMLHttpRequest();
    xhttp.open('POST', 'risultato2.php?variabile2=valore2' , true);
    xhttp.send();
    xhttp.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
    document.form.campo2.value=this.responseText;
    }
    }
    }
    Prima o poi anch'io vi insegnerò qualcosa

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,430
    Quote Originariamente inviata da riccardo1975 Visualizza il messaggio
    Uso php e mysql.

    Vorrei venissero eseguite entrambe le chiamate, possibile? (una popola il campo1 l'altra il campo2)
    Allo stato attuale, al primo blur fà la chiamata1 e solo se riseleziono il campo e faccio di nuovo blur fà la chiamata2
    Scrivi meglio il codice e formattalo, perché così non si capisce in che contesto è inserito e non è leggibile.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Questo è il mio body:

    <body>
    __<form name="form" method="post" action="www.miosito.it">
    ____<input id="idCodFis" name="Codfis" value="" maxlength="16" onkeypress="return CaratteriConsentiti(event,this);" onblur="return onblurCodFis(event,document.form.CodFis,document.f orm.Naz);" type="text" class="textbox">
    ____<select id="idNaz" name="Naz" type="text" class="textbox">
    ______<option value="ITA" selected>ITALIA</option>
    ______<option value="AFG">AFGHANISTAN (Z200)</option>
    ______<option value="ALB">ALBANIA (Z100)</option>
    ...
    ____</select>
    ____<input id="idLuoNas" name="LuoNas" value="" type="text">
    __</form>
    </body>

    e questo lo script:

    function onblurCodFis(form,CodFis,Naz) {
    ...
    ...
    ...
    __const xhttp = new XMLHttpRequest();
    __xhttp.open('POST', 'modifica_nazionalita.php?belfiore='+CodFis.substr ing(15,11) , true);
    __xhttp.send();
    __xhttp.onreadystatechange = function() {
    ____if (this.readyState === 4 && this.status === 200) {
    ______document.form.idNaz.value=this.responseText;
    ____}
    __}
    __const xhttp = new XMLHttpRequest();
    __xhttp.open('POST', 'modifica_luogo_di_nascita.php?belfiore='+CodFis.s ubstring(15,11) , true);
    __xhttp.send();
    __xhttp.onreadystatechange = function() {
    ____if (this.readyState === 4 && this.status === 200) {
    ______document.form.idLuoNas.value=this.responseTe xt;
    ____}
    __}
    ...
    ...
    ...
    }


    In pratica vorrei che mettesse la nazione nella select scegliendo in un database chiamato con la prima chiamata e sul solito evento quindi l'onblur da codice fiscale facesse la seconda chiamata inserendo il luogo di nascita nel campo apposito (se il tizio è nato in Italia o svuotarlo se è nato all'estero).

    Più generalmente volevo capire se si possono fare due chiamate ajax sul solito evento e soprattutto la sintassi.
    Ultima modifica di riccardo1975; 23-01-2025 a 09:21
    Prima o poi anch'io vi insegnerò qualcosa

  4. #4
    tag CODE, questo sconosciuto...

    codice:
    <!DOCTYPE html>
    <html>
      <body>
        <h2>What Can JavaScript Do?</h2>
        <p id="demo">JavaScript can change HTML content.</p>
        <button type="button" onclick='document.getElementById("demo").innerHTML = "Hello JavaScript!"'>Click Me!</button>
      </body>
    </html>

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,430
    Quote Originariamente inviata da riccardo1975 Visualizza il messaggio
    Questo è il mio body [...]

    In pratica vorrei che mettesse la nazione nella select scegliendo in un database chiamato con la prima chiamata e sul solito evento quindi l'onblur da codice fiscale facesse la seconda chiamata inserendo il luogo di nascita nel campo apposito (se il tizio è nato in Italia o svuotarlo se è nato all'estero).

    Più generalmente volevo capire se si possono fare due chiamate ajax sul solito evento e soprattutto la sintassi.
    Certo che si possono fare più chiamate: basta che nella funzione di risposta all'evento onblur tu esegua semplicemente le due chiamate.

    Ciò che mi fa "insospettire" è che ci sono due righe così all'interno della medesima funzione onblurCodFis():
    codice:
    const xhttp = new XMLHttpRequest();
    Non puoi ridefinire una costante/variabile due volte.

    Mi aspetterei un errore anche nella console del browser e potrebbe essere questa la fonte del problema.

    Per il resto, non ci sono altre limitazioni né sintassi particolari: basta creare l'oggetto XMLHttpRequest, definire l'evento di gestione della risposta e mandare il pacchetto con open() e send().

    Nei browser moderni tuttavia, anche per una questione di semplicità e proiezione nel presente, prediligerei l'uso della funzione fetch() al posto di XHR: vedi la documentazione sulla Fetch API per il suo utilizzo.

    Ciao!
    Ultima modifica di alka; 23-01-2025 a 12:40
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.