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

    manipolare html caricato dall'esterno

    Ciao a tutti, sono nuovo di javascript, e vorrei scrivere uno uno script che carica, dopo un determinato div, il codice html (vari input di una form) da un file html esterno.

    funziona tutto bene solo che non riesco poi ad intervenire sugli input caricati dall'html stesso.. per esempio cambiargli id ecc...

    tutto questo perchè dovrei realizzare una form, con delle righe di input ripetitivi da aggiungere con il classico pulsante "+" o da rimuovere con il classico pulsante "-"

    qui di seguito, trovate la parte "logica" di quello che voglio fare:

    codice:
    function aggiungiRiga() {
        //leggo il numero attuale di righe
        var numeroRighe = $("#numeroRighe").val();
    
        //setto il numero progressivo per la riga corrente
        var riga = numeroRighe++;
        
        //carico l'html della nuova riga con gli input di default, e lo stampo dopo il div#elencoRighe
        $.get("rigaDefault.php", function(data) {
            $("#elencoRighe").after(data);
        });
        
        //qui vorrei sostituire i valori di dafult  con quelli della mia riga, ma non riesco a leggere nell'html caricato poco sopra, e gli id sono giusti
        
        $("#descrizioneDefault").attr('id', 'descrizione'+riga );
        $("#prezzoDefault").attr('id', 'prezzo'+riga );
        
        //qui setto il nuovo valore per il numero delle righe, da leggere successivamente
        $("#numeroRighe").val(riga);
        
    }
    
    
    $(".nuovaRiga").click(function(){
        
        aggiungiRiga();
        
    )};
    Immagino ci siano grossi errori ma soprattutto non mi funziona la parte in cui sostituire gli id agli input di default

    come posso risolvere?
    Ultima modifica di aquatimer2000; 20-02-2018 a 18:27
    aquatimer2000

  2. #2
    intanto ho corretto così:

    codice:
    $(".piu").click(function(){
       
        function aggiungiRiga() {
            //leggo il numero attuale di righe
            var numeroRighe = $("#numeroRighe").val();
            
            //setto il numero progressivo per la riga corrente
            numeroRighe++;
            var riga = numeroRighe;
            
                    
            //carico l'html della nuova riga con gli input di default, e lo stampo dopo il div#elencoRighe
            $.get("rigaDefault.php", function(data) {
                 $("#elencoRighe").after(data);
            });
            
            //qui vorrei sostituire i valori di dafult  con quelli della mia riga, ma non riesco a leggere nell'html caricato poco sopra, e gli id sono giusti
            
            $("#descrizioneDefault").attr('id', 'descrizione'+riga );
            $("#prezzoDefault").attr('id', 'prezzo'+riga );
            
            //qui setto il nuovo valore per il numero delle righe, da leggere successivamente
            $("#numeroRighe").val(riga);
    
            alert("riga aggiunta correttamente");
            
        }
    
    
        aggiungiRiga();
        
    });
    aquatimer2000

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Posta il link alla pagina pubblica grazie.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    ho tutto in locale, sono delle form che devo far girare solo in locale, non ho la possibilità di pubblicarle !
    aquatimer2000

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    codice:
     $.get("rigaDefault.php", function(data) {
            $("#elencoRighe").after(data);
        
        
        //devi inserire il richiamo dell'oggetto che vuoi modificare dentro la chiamata ajax 
        
        $("#descrizioneDefault").attr('id', 'descrizione'+riga );
        $("#prezzoDefault").attr('id', 'prezzo'+riga );
    });
    Anche se sarebbe meglio farlo eseguire da php inserendo il numero della riga nella chiamata ajax
    rigaDefault.php?riga=x
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    allora ho corretto con:

    codice:
    $.get("rigaDefault.php?riga="+riga, function(data) {
        $("#elencoRighe").after(data);
       
        $("#descrizioneDefault").attr('id', 'descrizione'+riga );
        $("#prezzoDefault").attr('id', 'prezzo'+riga );
    });
    e praticamente come da te suggerito, organizzo i dati lato php che sono anche più pratico.

    Ora però, ho un nuovo problema: la nuova riga stampata correttamente a video, ha un button con classe "piu" che però non funziona, nel senso che non mi fa partire di nuovo la funzione aggiungiRiga();

    Come posso risolvere ?!
    Ultima modifica di aquatimer2000; 20-02-2018 a 20:57
    aquatimer2000

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    usi on (attenzione alla versione di jquery se non hai una versione recente on non è supportato verifica sul sito jquery.com)
    codice:
    $(".piu").on("click", function(){... codice ....})
    dentro al ready
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.