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

    [JS] problema banale parametro

    Ho dei campi testo il cui nome varia solo per un'indice finale :
    testo_1, testo_2, ecc
    Ho poi una funzione che riceve come paramentro il valore di questo indice e modifica il value del campo specificato:
    function esempio(a){
    document.nomeform.testo_"a"="nuovovalore";
    }
    Ecco, come faccio a passare quel cavolo di variabile? Come faccio ad agganciarla al nome completo?
    document.nomeform.testo_['a'] ???????????
    document.nomeform.testo_('a') ???????????
    document.nomeform.testo_&a

    Insomma, come si fa?
    grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    document.nomeform.elements["testo_"+a].etcetc

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    document.nomeform.elements['testo_'+a].value="nuovovalore";

  4. #4
    Originariamente inviato da Xinod
    document.nomeform.elements["testo_"+a].etcetc
    Ecco, perfetto. Grazie infinite.
    Ma come mai si deve mettere "elements"?

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perche' il nome dell' oggetto in questione lo devi costruire dinamicamente,
    prima si sarebbe potuto ricorrere anche all' eval,
    eval('document.nomeform.testo_'+a+'.value="nuovova lore"')
    ma visto che e' "deprecato" questa sintassi e' preferibile
    ciao

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se ti stai chiedendo perche' questa sintassi non vada bene
    document.nomeform.testo_['a']

    gli elementi con stesso nome rientrano automaticamente in un array (una collezione) con indice numerico progressivo
    se usassi document.nomeform.testo_[a]
    immaginando che a sia 3 faresti riferimento a
    <input name="testo_"> <-- indice 0
    <input name="testo_"> <-- indice 1
    <input name="testo_"> <-- indice 2
    <input name="testo_"> <-- indice 3 questo elemento
    <input name="testo_"> <-- indice 4
    <input name="testo_"> <-- indice 5
    ...
    ciao

  7. #7
    ah ecco... forse è meglio se mi compro un bel librone sul javascript...
    ne conoscete qualcuno buono?

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.