Visualizzazione dei risultati da 1 a 6 su 6

Discussione: function enabled

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    function enabled

    ciao a tutti,

    ho tre campi input
    codice:
    <input name="campo01" type="text" class="questo_input" id="campo01">
    <input name="campo02" type="text" class="questo_input" id="campo02">
    <input name="campo03" type="text" class="questo_input" id="campo03">

    e vorrei fare una funzione in modo che l'utente possa compilare solo uno dei tre,
    codice:
    function controllo campi(campo1,campo2,campo3,mioform) {
    	var f=document.mioform;
    /*
    come faccio a disabilitare i campi se uno dei tre e pieno
    oppure abilitare tutti i campi se sono tutti vuoti
    oppure se scrivo in un campo come disabilito gli altri?
    */
    }
    ma non riesco a capire come strutturarla... :master:


    Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova cosi':
    codice:
    <script>
    function controlla(obj) {
      rv = false;
      for (var i=1;i<=3;i++) {
        cp = document.getElementById("campo0"+i);
    	rv = rv || (cp!=obj && cp.value.length>0);
      }
      if (rv) obj.blur();
    }
    </script>
    <body>
    <input name="campo01" type="text" class="questo_input" id="campo01" onfocus="controlla(this)">
    <input name="campo02" type="text" class="questo_input" id="campo02" onfocus="controlla(this)">
    <input name="campo03" type="text" class="questo_input" id="campo03" onfocus="controlla(this)">
    </body>
    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
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille è perfetto!


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    scusa una piccola precisazione,

    sto provando ad implamentare cosi per verificare che il campo contenga un numero
    codice:
    function controlla(obj) {
      rv = false;
      	if(!(obj.match(/^(\+)?(\d)+$/))){
    		return false;
    	}else{
      		for (var i=1;i<=3;i++) {
        		cp = document.getElementById("controtelaio0"+i);
    			rv = rv || (cp!=obj && cp.value.length>0);
    		}
      	}
      if (rv) obj.blur();
    }
    ma non mi funziona... :master:

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non e' buona pratica mischiare due controlli con finalita' cosi' diverse... lo script diventa di difficile interpretazione.

    Comunque:
    codice:
    <script>
    function controlla(obj) {
      rv = false;
      for (var i=1;i<=3;i++) {
        cp = document.getElementById("campo0"+i);
    	rv = rv || (cp!=obj && cp.value.length>0);
      }
      if (rv) obj.blur();
      obj.style.backgroundColor='white';
      if (obj.value!=""&&!obj.value.match(/^(\+)?(\d)+$/)) {
        obj.style.backgroundColor='yellow';
    	obj.focus();
      }
    }
    </script>
    <body>
    <input name="campo01" type="text" class="questo_input" id="campo01" onfocus="controlla(this)" onblur="controlla(this)">
    <input name="campo02" type="text" class="questo_input" id="campo02" onfocus="controlla(this)" onblur="controlla(this)">
    <input name="campo03" type="text" class="questo_input" id="campo03" onfocus="controlla(this)" onblur="controlla(this)">
    </body>
    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

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille!

    è perfetto!

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.