inviare input dinamici senza ricaricare la pagina

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Buongiorno a tutti, sto creando un'applicazione web per gestire un magazzino, ora mi sono fermato ad un punto cruciale.
la pagina con cui creo l'ordine del cliente è così:
articolo1 (quantità in giacenza 20) _____
articolo2 (quantità in giacenza 20) _____
e così via, dove c'è _____ è l'input in cui inserisco le quantità di articoli da ordinare.
Io vorrei che inserendo la quantità in ______ automaticamente mi facesse vedere la differenza tra la quantità in giacenza e ciò che ho inserito senza ricaricare la pagina.
Grazie per la collaborazione.
(non voglio il codice pronto, ma solo alcuni input perchè io mi sono letteralmente arenato)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Cia, una bozza buttata giù al volo
HTML:
<script>
    function cambiaDisponibilita(val, id) {
        var element = document.getElementById("disp" + id);
        var disp = parseInt(element.innerHTML);
        var new_disp = disp - val;
        element.innerHTML = new_disp;
    }
</script>
<table>
    <thead>
        <tr>
            <th>articolo</th>
            <th>qta</th>
            <th>disponibilita</th>
        </tr>    
    </thead>
    <tr>
        <td>Articolo 1</td>
        <td><input onkeyup="cambiaDisponibilita(this.value,1)" value="0" type="text" name="qta1" size="2"/></td>
        <td id="disp1">20</td>
    </tr>
    <tr>
        <td>Articolo 2</td>
        <td><input onkeyup="cambiaDisponibilita(this.value,2)" value="0" type="text" name="qta2" size="2"/></td>
        <td id="disp2">20</td>
    </tr>
</table>
non ci sono contolli e non ho testato
edit
pensandoci un attimo, qualcuno potrebbe consumare i resti di magazzino mentre tu stai compilando il form;
ci vorrebbe una chiamata al database con ajax per recuperare ogni volta la disponibilità del magazzino
 
Ultima modifica:

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Perfetto grazie.. ho notato una cosa, se sono all'interno dell'input e clicco le frecce direzionali mi cambia la quantità in "disp", come mai?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Perchè ogni volta che premi un tasto (onkeyup) va a leggere il valore nella td disponibilità e gli sottrae il valore dell'input
un'altra bozza, questa volta con ajax
HTML:
<script>
    var xmlHttp = getXmlHttpObject();
    function get_ajax(path,element,params) {
        xmlHttp.open('GET', path +'?' + params, true);
        xmlHttp.onreadystatechange = function() {
            if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                document.getElementById(element).innerHTML = xmlHttp.responseText;
            }
        }
        xmlHttp.send(null);
    }
    function getXmlHttpObject() {
        var xmlHttp = window.XMLHttpRequest ? new XMLHttpRequest() : null;
        if (window.ActiveXObject) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }	
        return xmlHttp;
    } 
</script>
<table>
    <thead>
        <tr>
            <th>articolo</th>
            <th>qta</th>
            <th>disponibilita</th>
        </tr>    
    </thead>
    <tr>
        <td>Articolo 1</td>
        <td><input onkeyup="get_ajax('magazzino.php','disp1','id=1&qta=' + this.value)" value="0" type="text" name="qta1" size="2"/></td>
        <td id="disp1">20</td>
    </tr>
    <tr>
        <td>Articolo 2</td>
        <td><input onkeyup="get_ajax('magazzino.php','disp2','id=2&qta=' + this.value)" value="0" type="text" name="qta2" size="2"/></td>
        <td id="disp2">20</td>
    </tr>
</table>
in magazzino.php puoi fare le query sul database per ottenere la disponibilità aggiornata, poi semplicemente stampi la differenza
PHP:
<?php

$id = (int) $_REQUEST['id'];
$qta = (int) $_REQUEST['qta'];

// SELECT disp FROM magazzino WHERE idprodotto = $id

$disp = 20;

echo $disp - $qta;
?>
 
Ultima modifica:

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Perfetto, grazie mille! l'ho provato velocemente e funziona perfettamente, ancora mille grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
Monital [risolto] Inviare un input radio assieme ad un link PHP 7
M Inviare un file su un server remoto con JavaScript Javascript 0
E Inviare variabile a PHP da ciclo in JS Javascript 0
M Inviare dati nel db dopo risposta alert PHP 0
L inviare i dati di un form ad un database PHP 6
D INVIARE PAGINA XHTML TRAMITE EMAIL HTML e CSS 1
O [PHP] inviare dati da form e script ajax PHP 0
D [HTML] Inviare un link contenente un' immagine HTML e CSS 4
M Inviare variabili da menu a tendina a pagina php con post PHP 6
I [PHP] inviare form con allegato tramite una mail PHP 1
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
A [PHP] Inviare mail con piu immagini allegate PHP 6
C non riesco a inviare la posta con account alice Posta Elettronica 1
F [Javascript] Inviare i campi di un form col metodo post Javascript 7
L [Javascript] aiuto non riesco a inviare in get dal server web locale su altervista con httpRequest Javascript 0
A Non riesco ad inviare una mail attraverso PHP su Xampp PHP 2
L 120 SMS Gratis da inviare in qualsiasi momento Vendere e Acquistare pubblicita' online 0
angelo85 Sito joomla che permetta agli utenti di inviare mail Joomla 2
H [PHP] Inviare dati PHP 3
E [PHP] inviare 2 form consecutivamente PHP 4
S PHP: inviare via email contenuto di una funzione PHP 4
M Come inviare due mail diverse con phpmailer PHP 6
A Creare da form un PDF da inviare come allegato. PHP 1
M Inviare mail con PHP tramite Mozilla PHP 3
M Inviare mail dopo due giorni lavorativi PHP 3
P Creare form e inviare via mail HTML e CSS 2
M Inviare mail con href PHP 2
I Inviare dati POST tramite curl PHP 0
danjde inviare dati testuali verso iframe PHP 5
max_400 Si possono inviare sms con php? PHP 5
S inviare the_title() in una mail tramite form html/php PHP 0
M inviare email con access MS Access 3
Shyson Inviare css con form email PHP 1
N inviare dati post tramite redirect PHP 4
G Inviare un form HTML e CSS 9
F inviare una mail con php mailer PHP 3
L Inviare allegati decodificati PHP 1
N Inviare mail di conferma al cliente PHP 0
Z Inviare newsletter da sito realizzato con WordPress Email Marketing 6
F E' possibile inviare un comando DOS con javascript o altro linguaggio?? Javascript 1
M link con dati estratti da un db e aggiungere a tali link variabili da inviare a nuova pagina PHP 2
pup3770 Suddividere e inviare pdf HTML e CSS 2
M come inviare 2 variabili con get PHP 7
ciccio1892 Select concatenate con Ajax inviare scelta utente tramite post insieme ad altri dati form PHP 3
E Inviare una mail automaticamente, da un account gmail PHP 1
U form mail per inviare tracciabilità corriere PHP 0
L consigli per inviare newsletter PHP 8
M Paypal inviare e ricevere variabili E-Commerce 1
G inviare comandi ssh con script php PHP 4
L Come posso inviare al mio sito i guestbook,sondagggi,ecc creati su Mr.Webmaster ? Supporto Mr.Webmaster 11

Discussioni simili