Controllo DB dinamico...

  • Creatore Discussione Creatore Discussione Emix
  • Data di inizio Data di inizio

Emix

Utente Attivo
15 Feb 2010
596
0
16
Salve a tutti, in JS è possibile fare in modo che una volta inserito un codice, controlli nel db e se c'è completa i restanti campi?
 
Salve a tutti, in JS è possibile fare in modo che una volta inserito un codice, controlli nel db e se c'è completa i restanti campi?

Se rimani all'interno di jquery, dai un occhiata a questo:

http://api.jquery.com/jQuery.ajax/

è possibile effettuare delle chiamate asincrone per interrogare il database e ottenere come risposta (ad esempio nel tuo caso, se i dati che cerchi vengono trovati) un array con i dati che ti servono per compilare gli altri campi.

Io ad esempio ho usato questa tecnica per autocompilare una serie di campi in questa pagina.

Ma non mi chiedere troppo, perchè sono ancora all'inizio con javascript e php. Su questo forum ci sono persone molto più esperte di me.
 
Ultima modifica:
da quello che ho visto sarebbe perfetto quello dei comuni.... anche se magari sarebbe meglio se lo facesse automatico, ma ripeto quello potrebbe andar bene... dove lo trovo?
 
Guarda il sorgente. Naturalmente è solo un esempio da cui prendere spunto ed adattare alle tue esigenze.

Se ti scarichi jquery, ci sono una varietà di esempi da cui prendere spunto.
 
non lo fa vedere il sorgente... Ame serve soltanto che appena digito/leggo un barcode, controlla se c'è e prende 3 campi autocompilandolo.. è difficile? sto cercando in rete ma non trovo molto.. e io jquery e js non li conosco quasi per nulla...
 
Ti ho creato un piccolo esempio funzionante. A te adattarlo.

Pagina del form:
HTML:
<!DOCTYPE html>
<html lang="it">
    <head>
        <meta charset="utf-8">
        <title>Autocompletamento</title>
    </head>

    <body>
        <form action="#" method="post">
            <div>
                <lsbel for="id">ID:</label>
                <input type="text" name="id" id="id">
                <button id="autocomplete" type="button">Autocompleta</button>
            </div>

            <div>
                <label for="name">Nome:</label>
                <input type="text" name="name" id="name">
            </div>

            <div>
                <button type="submit">Invia</button>
            </div>
        </form>

        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script>
        $(function() {
            $("#autocomplete").click(function() {
                if ($("#id").val() == "") {
                    alert("Inserisci un ID.");
                    return false;
                }

                $.getJSON("autocomplete.php", {
                    'id': $("#id").val()
                }, function(data) {
                    if (data.result == 'success') {
                        $("#name").val(data.data.name);
                    } else if (data.result == 'not-found') {
                        alert("ID non trovato.");
                    } else {
                        alert("Errore interno.");
                    }
                });
            });
        });
        </script>
    </body>
</html>

Pagina autocomplete.php:
PHP:
<?php
$data = array(
    1 => array(
        'name' => 'Pinco',
    ),

    2 => array(
        'name' => 'Pallo',
    ),
);

$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;

if (!isset($data[$id])) {
    die(json_encode(array(
        'result' => 'not-found',
    )));
}

echo json_encode(array(
    'result' => 'success',
    'data'   => $data[$id],
));
 
nada... è un pomeriggio intero che tento.... non riesco a far autocompletare i tre campi...
 
non trovo una soluzione.... a me serve che una volta controllato il barcode inserito, se presente autocompili codice,descrizione e quantita altrimenti restituisca barcode non trovato....
sembra una cavolata scritto cosi, ma sarà che sono alle prime armi con jquery e js , per me è difficilissimo....
Riuscite ad aituarmi?
 
ma possibile che ajax serva qualcosa di particolare per farlo girare? provato su altervista e non va... anche un esempio funzionante al 100%... in locale idem... ma devo attivare/fare qualcosa?
 

Discussioni simili