Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    form consecutivi come recuperare i dati con jquery

    ho dei dubbi..
    sto realizzando un sistema per modificare un record nel database,
    clicco crea record e si apre un dialog e fin qui ok, mentre per modificarne uno di solito tramite GET recupero per esempio l'ID e poi con l'ID recupero tutti i dati che mi interessano e li stampo a video per modificarli.

    Ora vorrei far si che sia tutto piu automatico e quindi non voglio prima chiamare una pagina da cui ricavo l'iD tramite GET.

    Vorrei magari creare per ogni record un piccolo form nascosto contenente i dati basilari come appunto l'ID, da questo form invio con ajax ad una pagina che mi recupera tutte le informazioni che mi servono e poi mi compili il form che ho aperto in un dialog quando ho inviato appunto il form.

    riepilogando:

    -elenco record
    -ogni record ha un form nascosto con l'ID del record
    -clicco su modifica record e invio con ajax ad una pagina esterna l'ID che mi recupera i dati ceh mi interessano e me li restituisce in json
    -recupero i dati via json e creo il form all'interno di un dialog

    cosi rimango sempre nella stessa pagina senza aver caricato pagine nuove per arrivare a modificare tale record.

    il problema qualè?

    potrei avere una struttura cosi di form

    codice:
    <form name="rec1">
    <input type="hidden" name="id" value="IDRECORD" />
    <input type="button" name="modifica" value="Modifica" />
    </form>
    
    <form name="rec2">
    <input type="hidden" name="id" value="IDRECORD" />
    <input type="button" name="modifica" value="Modifica" />
    </form>
    
    <form name="rec3">
    <input type="hidden" name="id" value="IDRECORD" />
    <input type="button" name="modifica" value="Modifica" />
    </form>
    
    <form name="rec4">
    <input type="hidden" name="id" value="IDRECORD" />
    <input type="button" name="modifica" value="Modifica" />
    </form>
    come identifico precisamente quale form sto inviando con jquery?

    di solito proseguo cosi

    codice:
    $("#mod").click(function() {
    
    
            var dati = $("[name=rec]").serialize();
            
            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: dati,
                dataType: "html",
                success: function(json)
                {
                
                    json = $.parseJSON(json);
                
                    if (parseInt(json.risposta) == 1) {
                        
                        $("#risposta").html("<div class='messaggio affermativo'>OK</div>");
                        $("#commento").val('');
                                    
                    } else {
                    
                        $("#risposta").html("<div class='messaggio errore'>NO</div>");
                        
                    }
                },
                error: function()
                {
                    alert("Errore Ajax");
                }
            });
        });
    come posso fare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma da come hai strutturato la chiamata Ajax (sbagliata) vuoi recuperare tutti gli id di tutti i form giusto? Allora perché vuoi identificare il form inviato? Se vuoi richiamare il singolo record perché non usi un semplice button che nel value abbia idrecord e che invia alla chiamata Ajax?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    no.. allora la chaimata ajax è un esempio buttato li velocemente (cosa ce di sbagliato?)

    ipotizzando un form cosi

    codice:
    <div id="risposta"></div>
    <formname="rec">
    <inputtype="hidden"name="id"value="IDRECORD"/>
    <inputtype="button"name="modifica"value="Modifica"/>
    </form>
    la chiamata ajax la farei cos

    codice:
    $("#mod").click(function(){
    
    
            var dati = $("[name=rec]").serialize();
            
            $.ajax({
                type:"POST",
                url:"ajax.php",
                data: dati,
                dataType:"html",
                success:function(json)
                {
                
                    json = $.parseJSON(json);
                
                    if(parseInt(json.risposta)==1){
                        
                        $("#risposta").html("<div class='messaggio affermativo'>OK</div>");
                                    
                    }else{
                    
                        $("#risposta").html("<div class='messaggio errore'>NO</div>");
                        
                    }
                },
                error:function()
                {
                    alert("Errore Ajax");
                }
            });
        });
    cosa ci sarebbe di sbagliato in questa chiamata ajax?

    cmq il mio problema è dover fare una chiamata ajax (simile a questa) ma avendo un vari form progressivi, cioè stampo una lista di record e ogni record avrà il suo form, una struttura di questo tipo:

    codice:
    <formname="rec1">
    <inputtype="hidden"name="id"value="IDRECORD"/>
    <inputtype="button"name="modifica"value="Modifica"/>
    </form>
    
    <formname="rec2">
    <inputtype="hidden"name="id"value="IDRECORD"/>
    <inputtype="button"name="modifica"value="Modifica"/>
    </form>
    
    <formname="rec3">
    <inputtype="hidden"name="id"value="IDRECORD"/>
    <inputtype="button"name="modifica"value="Modifica"/>
    </form>
    
    <formname="rec4">
    <inputtype="hidden"name="id"value="IDRECORD"/>
    <inputtype="button"name="modifica"value="Modifica"/>
    </form>
    
    ......

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    $("#mod").click(function(){
    
    
            var dati = $("[name=rec]").serialize();<-- oltre a non avere un form rec perché sono progressivi (rec1, rec2, etc..) avresti i campi hidden tutti uguali 
            
            $.ajax({
                type:"POST",
                url:"ajax.php",
                data: dati,
                dataType:"html", <-- se ti attedi un dato json il datatype deve essere json
                success:function(json)
                {
                
                    json = $.parseJSON(json);
                
                    if(parseInt(json.risposta)==1){
                        
                        $("#risposta").html("<div class='messaggio affermativo'>OK</div>");
                                    
                    }else{
                    
                        $("#risposta").html("<div class='messaggio errore'>NO</div>");
                        
                    }
                },
                error:function()
                {
                    alert("Errore Ajax");
                }
            });
        });
    Devo ancora capire se vuoi richiamare tutti i record o singolarmente?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    ann ok!! grazie della segnalazione degli errori!.. riguardo al serialize che richiama un form con name=rec come nel secondo mio post ti ho fatto l'esempio se richiamassi un singolo form.
    riguardo al datatype anche qui era un esempio, anche se devo dire che non ho mai avuto problemi in questo modo.

    Comunque io devo richiamare un solo form tra quelli consecutivi.. devo prendere i dati quindi di un solo record.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da torrone Visualizza il messaggio

    Comunque io devo richiamare un solo form tra quelli consecutivi.. devo prendere i dati quindi di un solo record.
    Se vuoi richiamare il singolo record perché non usi un semplice button che nel value abbia idrecord e che invia alla chiamata Ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    mmh okk.. idea piu semplice alla fine però ho una perplessità:

    cosi ho <input type="button" name="rec" value="IDREC" />

    giusto?

    per cui verrà fuori un "graficamente" un bottone con il numero del record, ma se io non volessi mostrare questo bottone ma semplicemente un bottone con scritto "test"?

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    <input type="button" name="IDREC" id="IDREC" value="test" onclick="ChiamataAjax(IDREC)" />
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    domanda banalissima fatta senza pensare sorry

    grazie

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.