Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Cambiare valore Select senza ricaricare la pagina

    Salve a tutti, ben risentiti.
    Dovrei cambiare il valore di una select al modificarsi di un altra senza ricaricare la pagina.
    https://app.danielebarisano.it/risik...gni-tavolo.php Questo il link della pagina, praticamente il valore del nome dovrebbe cambiare alla variazione dell utente sul cognome.
    Serve Ajax?
    Ridatemi un suggerimento e se possibile postatemi il codice, non penso sia un sacco di codice.

    Saluti

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,043
    Dipende se i dati che devi caricare sono sul server e sono tanti usi Ajax, altrimenti puoi caricarli direttamente quando generi la pagina e li mostri al bisogno.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ci sono quasi.
    codice:
    <select id="nome" name="nome"> <option value="0"> Selezionare Nome </option>  
                                                <script type="text/javascript"> 
                                                 $("#cognome").on("change", function() {    
                                                 $.ajax({       
                                                    type: "GET",
                                                    url : "return-nome.php",
                                                    data :  "cognome="+$("#cognome").val() ,  
                                                    dataType: "json",
                                                    success : function(risultato) {
                                                        risultato.forEach(function(data) {                              
                                                        <option value = "data">data</option>        
                                                       });
                                                    },
                                                    error: function() {
                                                     alert('Errore');
                                                  }
                                                  });              
                                                  });
                                                  </script>
    </select>
    
    Nel codice soprastante la variabile cognome viene passata correttamente al file return-nome.php http://app.danielebarisano.it/risiko...gnome=barisano Funziona correttamente , restituisce
    il nome giusto. Ora non riesco a stampare quei valori sulla select nome. cosa c' di errato in quel codice JQuery?

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,753
    cosa c' di errato in quel codice JQuery?
    codice:
                                                    success : function(risultato) {
                                                        risultato.forEach(function(data) {                              
                                                        <option value = "data">data</option>        
                                                       });
                                                    },
    Ciao, l'errore che stai scrivendo la parte HTML in chiaro all'interno del JavaScript; devi invece usare gli opportuni ed eventuali metodi JavaScript/jQuery per poter inserire/modificare l'HTML della pagina.

    Una possibile impostazione potrebbe essere questa:
    codice:
    <select id="nome" name="nome"> <option value="0"> Selezionare Nome </option>
    
    <script type="text/javascript">
        $("#cognome").on("change", function() {
            $.ajax({
                type: "GET",
                url : "return-nome.php",
                data :  "cognome="+$("#cognome").val() ,
                dataType: "json",
                success : function(risultato) {
                    var strHtml = '<option value="0"> Selezionare Nome </option>';
                    risultato.forEach(function(data) {
                        strHtml += '<option value="' + data + '">' + data + '</option>';
                    });
                    $('#nome').html(strHtml);
                },
                error: function() {
                    alert('Errore');
                }
            });
        });
    </script>
    Non l'ho testato ma l'importante che tu capisca il modo corretto di procedere.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm sp

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  5. #5
    Non li conosco molto JQuery e Javascript.
    Cmq
    codice:
    success : function(risultato) {
                                                        var strHtml = '<option value="0"> Selezionare Nome </option>';
                                                        risultato.forEach(function(data) {
                                                          strHtml += '<option value="' + data + '">' + data + '</option>';
                                                        });
                                                        $('#nome').html($strhtml);
                                                    },
    
    in $('nome').html(strhtml); anche se sostituisco strhtml con una stringa Es. 'Seleziona' non mi stampa niente. Ho anche aggiunto <scriptsrc="https://code.jquery.com/jquery-3.4.0.min.js"type="text/javascript"></script> la libreria jquery
    Dove pu essere il problema?

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,753
    Le cause possono essere svariate, una inclusione scorretta della libreria, una comunicazione errata col server, degli errori di sintassi nello script.

    Per capire dove sta la causa, o le cause, del problema, dovresti fare un debug e andare per step.

    Inizierei col verificare se in console si ricevono errori di script.

    Premi F12 sul tuo browser per aprire gli strumenti di sviluppo web, quindi vai sulla scheda console.
    Da qualche parte c' un filtro dei messaggi, seleziona giusto "Errori" quindi aggiorna la tua pagina e verifica se ti salta fuori qualche messaggio di errore.

    Da qui possiamo iniziare a capire come procedere.


    EDIT: aspetta, che cappero ci fa quel $ che hai aggiunto in .html($strhtml);???
    Inoltre ricorda che JavaScript case-sensitive. Controlla bene il mio esempio, non mi pare che io te lo abbia indicato cos.
    Ultima modifica di KillerWorm; 24-07-2020 a 15:38
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm sp

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  7. #7
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Le cause possono essere svariate, una inclusione scorretta della libreria, una comunicazione errata col server, degli errori di sintassi nello script.

    Per capire dove sta la causa, o le cause, del problema, dovresti fare un debug e andare per step.

    Inizierei col verificare se in console si ricevono errori di script.

    Premi F12 sul tuo browser per aprire gli strumenti di sviluppo web, quindi vai sulla scheda console.
    Da qualche parte c' un filtro dei messaggi, seleziona giusto "Errori" quindi aggiorna la tua pagina e verifica se ti salta fuori qualche messaggio di errore.

    Da qui possiamo iniziare a capire come procedere.


    EDIT: aspetta, che cappero ci fa quel $ che hai aggiunto in .html($strhtml);???
    Inoltre ricorda che JavaScript case-sensitive. Controlla bene il mio esempio, non mi pare che io te lo abbia indicato cos.
    Ho tolto quel $ chemi era sfuggito. cmq questo l indirizzo: da chrome non vedo errori su Console https://app.danielebarisano.it/risik...gni-tavolo.php

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,753
    Mi spiace ma in quella pagina non vedo il form vedo giusto questo testo:

    Non puoi gestire questa pagina dato il livello di utenza
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm sp

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  9. #9
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Mi spiace ma in quella pagina non vedo il form vedo giusto questo testo:
    Il form non lo vedevi perch nella pagina possono fare l accesso gli admin.
    ora posto il codice corretto, giorni fa ho risolto il problema

    codice:
    <div id="idstam" class="form-group has-placeholder">
                                                Nome
                                                <select id="nome" name="nome"> 
                                                <!--option value="Daniele">Daniele</option>
                                                <option value="Francesco">Francesco</option-->
                                                <script type="text/javascript">
                                                    $("#cognome").on("change", function() { 
                                                        $.ajax({        
                                                            type: "GET",
                                                            url : "return-nome.php",
                                                            data :  "cognome="+$("#cognome").val() ,  
                                                            dataType: "json",
                                                            success : function(risultato) {
                                                                //console.log(risultato);
    
                                                                var selectorHtml = "";
                                                                risultato.forEach(function(item) {
                                                                    selectorHtml += '<option value="' + item.nome + '">' + item.nome + '</option>';
                                                                })
                                                                $('#nome').html(selectorHtml);
                                                            },
                                                            error: function(xhr, status, error) {
                                                                console.log(status)
                                                                console.log(error)
                                                            }
                                                        });              
                                                    });
                                                  </script>
                                                  </select>                                            
                                                </div>
    
    Saluti

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,753
    giorni fa ho risolto il problema
    Perfetto, mi fa piacere si sia risolto
    Buon proseguimento
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm sp

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

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