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

    Help: nascondere una text area

    A tutti, buonsera.
    ancora una volta mi avvalgo della vostra sapienza.
    pultroppo mi trovo di nuovo di fronte a un piccolo problema
    In pratica un un menu a tendina (elenco/menu). in base alla selezione dell'elenco del menu, devono comparire alcune o altre textarea (con relativa nota scritta a fianco).
    dovrei lavorare su onChange? come potrei risolvere? non saprei da dove iniziare

  2. #2
    nessuna riesce a darmi una mano?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    26
    Se ho ben capito, in base a certe condizioni vuoi visualizzare, o meno, certe aree della tua pagina.

    Io ho usato queste due funzioni sviluppando un sito:
    Codice PHP:
    <script type="text/javascript" language="JavaScript1.5">

    function 
    over(box)
    {
        var 
    obj document.getElementById(box);
        
    obj.style.visibility"visible";
    }

    function 
    out(box)
    {
        var 
    obj document.getElementById(box);
        
    obj.style.visibility"hidden";
    }

    </script> 
    Naturalmente devi conoscere l'id degli oggetti da nascondere.
    In aggiunta a obj.style.visibility puoi usare obj.style.display="block|inline". La differenza è sottile ma degna di nota: il primo rende l'oggetto invisibile ma esso continua ad occupare spazio nel layout (io ho usato tutti posizionamenti absolute quindi non avevo quel problema) il secondo, invece, 'comprime' lo spazio occupato dall'oggetto ma non funziona sempre (in pratica trasforma un <div> in uno <span> e viceversa).

    Il mio consiglio è quello di mettere nel layout della pagina gli elementi da nascondere nel seguente modo:

    <style>
    .da_nascondere
    {
    position: absolute;
    left: 0px;
    top: 0px;
    }
    </style>

    Così li nascondi o li visualizzi secondo il tuo gusto e/o necessità senza che il design della pagina ne sia influenzato.

    Spero di esserti stato utile ^^

  4. #4
    Ora ci prova, grazie del consiglio.

    Io avevo trovato questo:

    <script>
    function nascondi()
    {
    document.getElementById('importo').type = 'text';
    }
    </script>

    poi richiamarlo così:
    <option onClick="Javascript:nascondi();">

    ma non funziona. la sintassi è corretta?

  5. #5
    finalmente sono riuscito a fare qualcosa. riesco a far apparire e scomparire la textarea.
    ma non riesco a farlo cliccando su una specificata scelta del menu. se richiamo il javascript dal tag select in onchange funziona su ogni scelta. ma se richiamo il javascript dal tag option sotto onclick non fa nulla. :master: Perchè? non dovrebbe funzionare? :master:
    una mano plsss.

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    le singole option non supportano il gestore evento onclick

  7. #7

    e come potrei scavalcare questo problema?

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    beh, gia' lo sai! onchange sul tag select poi dipende da quello che devi fare
    1 textarea, mostra o nascondi
    codice:
    <select onchange="document.getElementById('txarea').style.display=(this.selectedIndex==1)?'block':'none'">
    <option selected="selected">scegli:</option>
    <option>mostra</option>
    <option>nascondi</option>
    </select>
    <textarea id="tarea" style="display:none;"></textarea>
    piu' complesso
    3 textarea, ogni voce mostra solo la textarea corretta
    codice:
    <script type="text/javascript">
    function mostra(sel){
      if(sel.selectedIndex!=0){
        var val=sel.options[sel.selectedIndex].value;
        for(var x=0;x<3;x++){
          document.getElementById('tarea'+x).style.display=(x==val)?'block':'none';
        }
      }
    }
    </script>
    <form>
    <select onchange="mostra(this)">
    <option selected="selected">scegli:</option>
    <option value="2">mostra 2</option>
    <option value="1">mostra 1</option>
    <option value="0">mostra 0</option>
    </select>
    <textarea id="tarea0" style="display:none">sono tarea0</textarea>
    <textarea id="tarea1" style="display:none">sono tarea1</textarea>
    <textarea id="tarea2" style="display:none">sono tarea2</textarea>
    </form>
    di esempi del genere e' pieno il web, prima ancora del forum

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e se oltre alla textarea devi mostrare altro (parli di "relativa nota scritta a fianco")
    gli id tarea0, 1, 2 assegnali invece che alle textarea a tag <div> che contengano la textarea e la nota scritta a fianco,
    ai fini dello script non cambia nulla

  10. #10
    Grazie Xinod
    sul web ho cercato. ma dopo ore e ore ho trovato solo come nascondere ma senza il menu .. grazie 1000 dell'aiuto

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.