• User

    estrarre elementi di array da una stringa

    Torno ancora sul forum questo javascript non mi vuole funzionare mi aiutate a correggere questa funzione devo solo recuperare un array da una stringa di elementi separati da virgole, mi aiutate per favore

    // funzione per prendere un elemento con id univoco
            function prendiElementoDaId(id_elemento) {
                var elemento;
                if(document.getElementById)
                    elemento = document.getElementById(id_elemento);
                else
                    elemento = document.all[id_elemento];
                return elemento;
            };
    
            
            function UpdateKart(names) {
                
                divRisultato = prendiElementoDaId("kart"),
                
                qualinomi= names,
                
                var pnames = new Array();
                
                pnames = qualinomi.split(',');
                
                divRisultato.innerHTML = pnames[1];
                
                
            }
    

    non mi stampa niente su divRisultato.innerHTML = pnames[1]; anche se la stringa c'è non è vuota infatti se faccio
    divRisultato.innerHTML = qualinomi; la stampa


  • Da un'occhiata rapida:

    qualinomi= "names," al posto di qualinomi= names,

    e attenzione che gli array partono da indice 0 pertanto nello specifico per ottenere qualcosa:

    divRisultato.innerHTML = pnames[0];


  • User

    grazie, così ha funzionato ma se faccio la funzione così come dev'essere cioè che deve stamparmi la somma dei valori delle tendine generate da php, - prendiElementoDaId(pnames*).value - non funziona più anche se sembra giusto, io non lo capisco questo javascript c'è sempre un altro modo in cui dirgli le cose, vi ringrazio se mi aiutate!

    function UpdateKart(names) {
                
                
                
                tot=0;
    
                pnames= new Array();
    
                
                pnames = names.split(",");
                        
                 for(i = 0; i < pnames.length; i++){
                    
                    tot=Number(tot)+Number(prendiElementoDaId(pnames*).value);
                    
                }
                
                prendiElementoDaId("kart").innerHTML = tot;
                
            }
    ```ho provato anche così:
    
    tot=Number(tot)+Number(prendiElementoDaId('pnames*').value);
    
    gli id sono dei nomi che contengono spazi può dare problemi questo??

  • Scusa ma non capisco il senso di questo codice.

    Se devi solo stampare la somma degli elementi dell'Array:

    cambia:
    tot=Number(tot)+Number(prendiElementoDaId(pnames*).value);

    con:
    tot = tot + Number(pnames*);

    però forse non è quello che intendi...


  • User

    grazie dell'aiuto! finalmente ho capito cos'era, pensavo era il javascript invece c'erano 2 tendine generate da php che avevano un nome sbagliato perciò li ho controllati tutti ad uno ad uno e ho visto che quando facevo la somma 2 erano undefined, ciao!!