Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970

    passare nome del form e del campo

    ciao a tutti

    uso una funzione per pulire il valore di un campo di un form da quello di default quando questo campo è selezionato.

    per esempio
    codice:
    <textarea name="testo" onfocus="pulisci('addnews','testo','testo')">testo</textarea>
    questo campo quando è selezionato invoca la funzione che passa il nome del form (addnews), il nome del campo (testo) ed il suo valore di default (testo).

    con la funzione cerco di riprendere quel campo
    codice:
    function pulisci(theform,thefield,thevalue) {
     var d = document.forms[theform].elements[thefield];
    ...
    ma senza successo, dato che mozilla mi dà errore sia con questo codice che con
    codice:
    document.theform.thefield;
    dove sbaglio?

    grazie
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La seconda sintassi e' palesemente errata... ma la prima dovrebbe andare :master: (ma non posso provarla )

    alternativa:
    <textarea name="testo" onfocus="pulisci(this.form,this,'testo')">testo</textarea>

    e poi usi direttamente gli oggetti...:

    function pulisci(theform,thefield,thevalue) {
    var d = thefield;

    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

  3. #3
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    grazie, ma come lo adatto a questo?
    codice:
    function pulisci(theform,thefield,thevalue) {
     var d = document.forms[theform].elements[thefield];
     if (thefield=='tracklist') {
      if (d.value==thevalue) {
       d.value="1. \n2. \n3. \n4. \n5. \n6. \n7. \n8. \n9. \n10. ";
      }
     }
     else {
      if (d.value==thevalue) {
       d.value='';
      }
     }
    }
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    con la proposta di br1 quello li lo dovresti fare così
    codice:
    function pulisci(theform,thefield,thevalue) {
     if (thefield.name=='tracklist') {
      if (d.value==thevalue) {
       thefield.value="1. \n2. \n3. \n4. \n5. \n6. \n7. \n8. \n9. \n10. ";
      }
     }
     else {
      if (thefield.value==thevalue) {
       thefield.value='';
      }
     }
    }
    comunque la sintassi document.forms['NomeForm'].elements['NomeElemento'] funziona con Mozilla (io ho provato con Mozilla1.6 e firefox1)

  5. #5
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    mancava la sostituzione di d.value ma nn era un gran problema

    grazie mille d nuovo
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

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.