Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667

    funzione x impostare proprietà di + campi di un form

    ciao,vorrei fare una funzione che,passando come argomento i nomi di uno o più campi di un form mi assegni a questi determinate proprietà.cerchero' di essere + chiaro:



    voglio ad esempio settare a readonly 3 camopi: testo1,testo2,testo3

    invece di fare

    document.all.testo1.readOnly=true
    document.all.testo2.readOnly=true
    document.all.testo3.readOnly=true

    vorrei fare una cosa del tipo:

    function ImpostaCampi('testo1','testo2','testo3){
    for ..

    document.all. .. .readOnly=true
    ..

    }


    questo xchè ho un gran numero di campi da settare ogni volta,e scrivere il codice campo x campo mi fa diventare matto.

    mi potreste dare una mano?come faccio a passare più argomenti separati alla funzione?cosa devo mettere nel ciclo for come parametro che mi indichi il numero di argomeni passati?

    grazie anticipatamente se qualcuno potrà darmi una mano

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    ok,grazie ora ho fatto questo.ora come associo l'argomento in modo che tramite die sso posso ottenere il riferimento al nome del campo?

    cioè,all'interno del ciclo for "arguments[i]" contiene il nome del campo,come lo posso usare x costruire il riferimento completo x impistarne le proprietà?

    uan cosa del tipo:

    doc=document.all
    doc.+ arguments[i] + .style.background=colore

    (so che è sbagliato così,è solo x cercare di spiegarmi )


    ImpostaCampi("testo1","testo2")

    function ImpostaCampi(){

    var i,s,colore,doc
    var s=""
    var numargs
    numargs = arguments.length;
    colore='#C0C0C0'
    doc=document.all
    for (i = 0; i < numargs; i++)
    {
    //arguments[i]
    doc.ciao.style.background=colore

    }
    }

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    document.nomeForm.elements[arguments[i]].style.background=colore

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    Originariamente inviato da br1
    document.nomeForm.elements[arguments[i]].style.background=colore

    ciao
    dice che "document.info.elements" è nullo o non è un oggetto (info è il nome del mio form)

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    puoi postare la pagina completa (o fornisci un link)?

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    ecco

    <html>

    <head>
    <title></title>
    <script>
    ImpostaCampi("ciao","pag")

    function ImpostaCampi(){

    var i,s,doc,s,numargs
    s=""
    doc=document.all
    colore='#C0C0C0'
    numargs = arguments.length;
    for (i = 0; i < numargs; i++)
    {
    document.info.elements[arguments[i]].style.background=colore
    }

    }
    </script>
    </head>

    <body>

    <form name="info" METHOD="POST">


    <input type="text" name="pag" value="3" size="20"><input type="text" name="ciao"
    value="3" size="20"> </p>
    </form>
    </body>
    </html>

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi chiamare una funzione che usa gli oggetti presenti in una pagina non ancora "disegnata"...

    Sposta la chiamata in fondo alla pagina o utilizza l'evento onload del body.

    <body onload='ImpostaCampi("ciao","pag")'>

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Utente di HTML.it L'avatar di Galex
    Registrato dal
    Aug 2002
    Messaggi
    667
    hai ragione ora funziona tutto
    grazie di tutto
    ciao ciao

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.