Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    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

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.