Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22

    Invio dati da form senza reload/refresh della pagina

    Salve, ho il seguente codice javascript e php:
    -------------------------------------------------
    <table width="100%" height="100%" cellspacing="0">
    <tr>
    <td width=400 height="100%" valign="top">
    <div id="fe_categories">

    <?php
    $sql = "select * from categories";
    $result = $db->query($sql);
    while($row = mysql_fetch_row($result)){
    ?>

    <table class="tabcategory" onClick="javascript:loadXMLDoc('getItems.php?categ ory=<?php echo $row[0]; ?>','getItems')"><tr><td>[img]<?php echo $row[2]; ?>[/img]</td></tr><tr><td><?php echo htmlspecialchars($row[1]); ?></td></tr></table>
    <?php
    }
    ?>
    <?php
    ?>
    </div>
    </td>
    <td height="100%" valign="top">
    <div id="fe_items">
    </div>
    </td>
    </tr></table>

    ----------------------------------------------------
    il codice funziona ma devo aggiungere ad esso un funzione.
    Il codice attuale esegue una query e passa al file getItems.php i valori della query, quindi, tramite il ciclo while e la funzione loadXMLDoc, i "risultati" del file
    vengono visualizzati all'interno del div "fe_catagories" del file di partenza senza che la pagina (di partenza) venga ricaricata (condizione molto importante).
    La funzione che voglio aggiungere deve prendere un (solo) dato da un form e spedirlo al file getItems1.php (è circa uguale al file getItems.php, dove ho modificato
    la query di partenza in modo che venga fatta con un filtro su un particolare campo (quello passato tramite il form).
    In pratica ho bisogno di passare il valore scritto sul form (posizionato sulla div "fe_categories") al file getItems1.php e posizionare il risultato (non mi serve un ciclo while perche il risultato della query è univoco) sulla div "fe_items".

    Ho fatto varie prove, anche funzionanti ma tutte con un "effetto collaterale", il refresh dell'intera pagina che comporta la cancellazione di dati (posti su altro div della pagina iniziale), dati che non devono invece essere assolutamente cancellati.

    spero di essermi spiegato e ringrazio in anticipo. saluti

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il tutto si traduce con un termine: ajax

    Consulta le guide ... e vedi anche la discussione in rilievo, ricca di esempi
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22

    usare la variabile del form

    Grazie per la "dritta" su ajax.
    ho letto un po e sono riuscito ad implementare il seguente codice:

    <script type="text/javascript">
    $(document).ready(function() {
    $("form#barcode").submit(function(){
    var barcode = $("#barcode").val();

    $.ajax({
    url: "getItems1.php",
    type: "POST",
    data: "barcode=" + barcode,
    dataType: "text",
    success: function(msg) {

    loadXMLDoc('getItems1.php?barcode= + barcode ','getItems1');
    $("div#fe_items").html(msg);
    },
    error: function(){
    alert("Chiamata fallita!!!");
    }
    });
    return false;
    });
    });
    </script>

    funziona ma c'è un problema sulla variabile barcode, mi trova sempre lo stesso articolo anche se immetto (sul form ) un altro codice che popola la variabile barcode; sembra che la variabile, "mantenga" sempre il vecchio valore.

    ho dei dubbi se ho scritto bene (in termini di sintassi) la righa:

    loadXMLDoc('getItems1.php?barcode= + barcode ','getItems1');

    la variabile barcode da "passare" a getItems1.php?barcode= si scrive come ho scritto io ?
    dico cio perche, in php, alcuni spazi dopo = non ci sono.
    Scusate per questa mia domanda che sicuramente per molti di voi è veramente banale.

    grazie in anticipo e saluti

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Non ho letto tutto ma comunque loadXMLDoc('getItems1.php?barcode=' + barcode,'getItems1'); ('pagina.php?querystring='+variabile)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    grazie, io ho scritto :

    loadXMLDoc(('getItems1.php?barcode='+barcode),'get Items1');

    ma ora non mi trova nulla

    ho provato anche:

    loadXMLDoc('getItems1.php?barcode='+barcode,'getIt ems1');

    ma anche questo non trova nulla.

    dove sbaglio ?

    saluti

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    metti un link alla pagina pubblica (tuosito.xxxx/paginatuademoajax.xxxx) cosi da fare delle prove vedere eventuali errori e il markup della pagina cioè un quadro generale
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    Salve, scusate la lunga pausa, in pratica ho questo codice che non da risultati perche non riesco a "passagli" il valore che viene dal form:

    <form id="barcode">



    Inserisci qui sotto il barcode:

    <input type="text" name="barcode" id="barcode"/>
    <input type="submit" value="cerca"></p>

    <script type="text/javascript">
    $(document).ready(function() {
    $("form#barcode").submit(function(){
    var barcode = $("#barcode").val();


    $.ajax({
    cache: false,
    type: "POST",
    url: "getItems1.php",
    data: "barcode=" + barcode,
    dataType: "text",
    success: function(msg) {

    loadXMLDoc('getItems1.php?barcode=' + barcode,'getItems1');
    // loadXMLDoc('getItems1.php?barcode="2222222222222"' ,'getItems1');
    $("div#fe_items").html(msg);
    },
    error: function(){
    alert("Chiamata fallita!!!");
    }
    });
    return false;
    });
    });
    </script>
    </form>

    se attivo la riga che vedete commentata con

    // loadXMLDoc('getItems1.php?barcode="2222222222222"' ,'getItems1');

    mi funziona e trova l'articolo con il barcode = a 2222222222222 (è solo un esempio)

    quindi desumo che il codice

    loadXMLDoc('getItems1.php?barcode=' + barcode,'getItems1');

    non riesca a "leggere" il valore della variabile che proviene dal form.

    saluti

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Della serie poche idee ben confuse prova cosi
    head
    codice:
    <script type="text/javascript">
    $(document).ready(function() {
    $("#f_barcode").submit(function(){
    var codice = $("#barcode").val();
    $.ajax({
    cache: false,
    type: "POST",
    url: "getItems1.php",
    data: "barcode=" + codice,
    dataType: "text",
    success: function(msg) {
    $("div#fe_items").html(msg);
    },
    error: function(){
    alert("Chiamata fallita!!!");
    }
    });
    });
    });
    </script>
    body
    codice:
    <form id="f_barcode">
    
    
    
    Inserisci qui sotto il barcode:
    
    <input type="text" name="barcode" id="barcode"/>
    <input type="submit" value="cerca"></p>
    </form>
    <div id="fe_items"></div>
    Se non va posta un link alla pagina pubblica online
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    Cosi mi fa:

    Chiamata fallita!!!


    il link è in locale.

    ti ringrazio comunque.
    ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22
    Non c'è nessuno che sa come si fa a passare la variabile del form ?

    saluti

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 © 2024 vBulletin Solutions, Inc. All rights reserved.