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

    Recupero nome del campo

    Buongiorno, probabilmente è troppo facile:

    ho un valore che da neofita visualizzo così:

    alert(document.form.id.value);

    vorrei scrivere qualcosa che allo stesso modo mi recuperi il valore di:

    document.form.altrocampo.value

    dove altrocampo però deve essere sostituito con il valore restituito da document.form.id.value
    Prima o poi anch'io vi insegnerò qualcosa

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,394
    Quote Originariamente inviata da riccardo1975 Visualizza il messaggio
    Buongiorno, probabilmente è troppo facile:
    ho un valore che da neofita visualizzo così:
    alert(document.form.id.value);
    vorrei scrivere qualcosa che allo stesso modo mi recuperi il valore di:
    document.form.altrocampo.value
    dove altrocampo però deve essere sostituito con il valore restituito da document.form.id.value
    Banalmente,
    codice:
    var nomeCampo = document.form.id.value;
    alert(document.form[nomeCampo].value);
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,394
    .
    Ultima modifica di alka; 15-10-2024 a 15:15 Motivo: Doppio

  4. #4
    No purtroppo no. Provo a spiegarmi meglio:
    una cosa del tipo

    alert(document.form.id.value);

    mi visualizza un alert con il valore 3 oppure 2 o altro.

    Avendo nel form dei campi che si chiamano recapito1, recapito2, recapito3, recapito4
    vorrei che mi facesse il focus su recapito3 oppure 2 oppure altro.

    (la questione del focus l'avrei aggiunta da me ma a questo punto sbologno tutta la situazione)
    Prima o poi anch'io vi insegnerò qualcosa

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,755
    Ciao, la sintassi a parentesi quadre può essere utilizzata per accedere alle proprietà di un oggetto, specificando appunto il nome della proprietà sotto forma di stringa.
    Infatti alka ha risposto esattamente a ciò che hai chiesto nel primo post.

    Quote Originariamente inviata da riccardo1975
    dove altrocampo però deve essere sostituito con il valore restituito da document.form.id.value
    Quote Originariamente inviata da alka
    codice:
    var nomeCampo = document.form.id.value;
    alert(document.form[nomeCampo].value);
    Ora però tu stai chiedendo una cosa diversa. Il campo form.id ti restituisce giusto un numero, da quel che hai indicato, ma se vuoi che tale numero poi si riferisca al valore recapito1, recapito2, ecc., allora puoi concatenare la stringa "recapito" al valore del campo id, così da ottenere il nome voluto per l'elemento a cui vuoi fare riferimento.

    Puoi farlo sempre usando la sintassi a parentesi quadre ma passando la stringa costruita a dovere:

    codice:
    var nomeCampo = 'recapito' + document.form.id.value;
    var campo = document.form[nomeCampo];
    alert(campo);
    Quindi puoi applicare il focus a campo come meglio ti pare.

    Prova e fai sapere
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Modificato un pò per mia esigenza, ma ssi, le tue istruzioni erano perfette, grazie mille.
    Prima o poi anch'io vi insegnerò qualcosa

  7. #7
    Visto che la nuova domanda è attinente, accodo a questa discussione:

    ho una funzione:
    function init(form,campo) {
    document.form.campo.focus();
    }

    vorrei fare il focus sul form passato alla funzione, esattamente sul campo passato alla funzione.
    nel form infatti il nome del form è layoutform e il campo ricerca ma vorrei poter richiamare la funzione con altri valori per altre casistiche.

    il comando document.layoutform.ricerca.focus(); infatti funzionerebbe
    Prima o poi anch'io vi insegnerò qualcosa

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.