Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    80

    [Aiuto]2 Campi di un Form collegati tra loro

    Buongiorno,
    Supponiamo io abbia un form con 2 campi,
    è possibile fare in modo che non si riesca a scrivere nel secondo box se non si è digitato niente nel primo?
    (una specie di oscuramento)

    Grazie.

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    una delle tante possibili soluzioni

    codice:
    <input type="text" id="c1" />
    <input type="text" id="c2" onkeyup="if (document.getElementById('c1').value=='') this.value=''; "/>
    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    80
    Allora ho provato come dici te ma non funziona, cioè
    riesco a scrivere in c2 anche se c1 è vuoto.

    A me piacerebbe che il c2 sarebbe inaccessibile se c1 è vuoto

    <script type="text/javascript">
    function oscura()
    {
    if (document.getElementById('c1').value=='') this.value='';
    }
    </script>
    <input type="text" id="c1" />
    <input type="text" id="c2" onkeyup="oscura()"/>

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se lo cambi rispetto a come l'ho scritto, "this" perde il riferimento (ed è naturale che non funzioni più)

    codice:
    <script type="text/javascript">
    function oscura(campo) {
       if (document.getElementById('c1').value=='') campo.value='';
    }
    </script>
    
    <input type="text" id="c1" />
    <input type="text" id="c2" onkeyup="oscura(this)"/>


    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    80
    Wow Funziona che bello, Grazie

    Ora però vorrei domandarti una cosa, la funzione che tu hai scritto porta semplicemente a vuoto tutto il box2 fino a quando non hai scritto niente nel box1 però a me servirebbe una cosa un pò più complessa.

    Mi spiego in realtà dovrei costruire un piccolo form a due campi dove o scrivi nel primo o nel secondo ma mai in entrambi. Mi piacerebbe che i due campi fossero all'inizio entrambi visibili, se digiti qualcosa nel primo il secondo diventa grigio e inaccessibile e viceversa.

    Poi ho notato che nel suggerimento (codice) che mi hai dato io posso scrivere qualcosa nel primo, scrivere nel secondo e poi se cancello qualcosa dal primo (anche tutto) il secondo comunque rimane scritto.

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    mmhh.. così può andare bene?

    codice:
    <script type="text/javascript">
    function disabilita(campo) {
        if (campo == 'c1') { 
            if (document.getElementById('c1').value == '') {
                document.getElementById('c2').removeAttribute('disabled');
            }
            else
            {
                document.getElementById('c2').value = '';
                document.getElementById('c2').disabled = 'disabled';
            }        
        }
        if (campo == 'c2') { 
            if (document.getElementById('c2').value == '') {
                document.getElementById('c1').removeAttribute('disabled');
            }
            else
            {
                document.getElementById('c1').value = '';
                document.getElementById('c1').disabled = 'disabled';
            }        
        }
    
    }
    </script>
    
    c1: <input type="text" id="c1" onkeyup="disabilita('c1')" />
    
    c2: <input type="text" id="c2" onkeyup="disabilita('c2')" />
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    80
    Grazie ancora della risposta,
    però devo segnalare un errore, in pratica facendo come scrivi te succede un problema.
    Mettiamo che io scriva in c1, come è giusto in c2 non posso scrivere più (cioè viene disabilitato) però se cancello tutto da c1 (magari mi sono accorta di aver sbagliato campo)
    c2 non si abilita più e quindi rimango fregata.
    Come lo si può risolvere.?

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.