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

    Aggiungere un numero ad una variabile

    Lo so che la questione potrebbe sembrar banale, ma quel che non riesco a fare io è aggiungere ad una variabile contenete un numero, un'altro numero ed ottenere la somma e non il concatenamento dei due.

    Es:
    ho dei childnodes di "oggettiCarrello" che si chiamano quadro1, quadro2. etc
    estraggo quindi l'ultimo valore dell'id dell'ultimo elemento e vorrei sommarci 1 per avere ad esempio dopo quadro4, quadro5 ma invece che 5 mi viene 51, sia con Eval che con parseInt, come mai ?
    riporto il codice:
    Codice PHP:

    var caratteri figli[document.getElementById("oggettiCarrello").childNodes.length-1].id;
    var 
    numero caratteri.substr(caratteri.length-1,1);
    nuovo_elemento.setAttribute("id","quadro"+eval(numero+1)); 
    Grazie
    - Kiko -
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    hai provato anche con nuovo_elemento.setAttribute("id","quadro"+parseInt (parseInt(numero)+1)); ?
    Magari mi sbaglio ma parseInt per sommare i 2 numeri ma lo usi anche per trasfrmare prima quello che e' una stringa in int

  3. #3
    No con il doppio parseInt non ho provato, però sono riuscito a risolvere, grazie all'aiuto di un amico in questo modo :
    Codice PHP:
    numero parseInt(numero) + 1;
    nuovo_elemento.setAttribute("id","quadro"+numero); 
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    GIusto nn cambia molto che metti inline la chiamata o la deleghi su altra riga prima di dove ti serve un numero.

    Sappi che sebbene js e' un linguaggio non tipizzato i tipi esistono sempre senno nn portesti far funzionare nulla.

    Le seguenti assegnazioni possono sembrare equivalenti ma in realta' non lo sono

    a) var numero = "1";
    b) var numero = 1 ;

    La (a) mette una stringa nella var numero
    La (b) invece mette un intero

    se in (a) fai alert( numero+numero ) js riconosce il tipo stringa e dara' 11
    se lo fai in (b) invece dara' 2
    Questo perche' nonostante tu non abbia vincoli sui tipi js si salva sempre il tipo di dato che inserici nella var quindi quando non sei sicuro se una var ha un numero puoi fare una cosa del tipo

    if( isNaN(numero) )
    {
    try{ numero=parseInt(numero); } catch(e){ numero=0 }
    }

    COsi' controlli che il numero sia intero se non lo e' effettui il typecast (cambiotipo) se dovesse dare errore per dio solo sa quale ragione gli assegni 0 e poi te lo gestisci.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    5
    hai provato con parseInt?
    dovrebbe restituirti il valore della somma, invece di attaccare quell'1 dopo il 5

    ciao!

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    E cosa abbiamo appena detto?

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