• User

    Riempimento input automatico

    Ciao a tutti,

    in un form ho una input con una funzione di autocompletamento.
    questa input mi gestisce dei Codici Clienti, e per esempio quando clicco su un codice (es.: 2000) vorrei che mi si riempisse in automatico la input successiva e ciò è quella chiamata "cliente" con il nominativo del cliente.

    Ho un database mysql con una tabella "clienti" da cui prelevare i dati.
    Il problema per me è far arrivare il codice cliente inserito in una pagina che mi permetta di creare la query classica (SELECT * FROM clienti WHERE Codice_Cliente= '$codice_cliente'), ma ovviamente deve avvenire tutto in tempo reale. (ergo utilizzo di JS o AJAX, che però non so utilizzare)

    Come devo fare? Mi sapreste aiutare?

    Grazie,
    S.


  • User Newbie

    Ti posto la soluzione più banale ( e pure meno sicura nel caso tu commetta errori nella "parte" relativa al php):

    
    if ( typeof XMLHttpRequest == "undefined" ){
        XMLHttpRequest = function(){
            return new ActiveXObject(
            navigator.userAgent.indexOf("MSIE 5") >= 0 ?
            "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP"
            );
        };
    }
    
    function get_field_data(){
        var xhr = new XMLHttpRequest();
        xhr.open('GET','foo.php');
        xhr.onreadystatechange = function() 
            if((xhr.readyState == 4) && (xhr.status == 200)) 
                eval(xhr.responseText);
        xhr.send(null);
    }
    
    ```a questo punto, aggiungi all'elemento che ti interessa, la voce
    

    onblur ="get_field_data()"

    document.getElementById('campo1') = valore 1 ottenuto dall'array;
    document.getElementById('campo2') = valore 2 ottenuto dall'array;
    e cosi via.

    
    PS: la pagina php dovrà ritornare del codice javascript valido, per fare in modo che poi attraverso eval esso venga eseguito.