Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [JS] Disabilitare tutti i campi

    Buongiorno gente!

    Devo fare una funzioncina che mi disabiliti tutti i campi

    Credo sia qualcosa tipo ForEach.... ma non so come buttarla giù...mi date una mano?

    danke!
    Guybrush Threepwood

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    io ho questa funzione
    codice:
    //-------------------------------------------------------
    //disattiva tutti i controlli dentro id_contenitore
    //esclusi quelli del vettore vettore_id_esclusi
    //--------------------------------------------------------
    function disabilita(id_contenitore, vettore_id_esclusi)
    {
    	if(vettore_id_esclusi == undefined) var vettore_id_esclusi = [];
    	
    	var v = document.getElementById(id_contenitore);
    	if(v == undefined) return;
    	
    	var elementi = v.getElementsByTagName("*");
    	var i;
    	for(i = 0; i < elementi.length; i++)
    	{
    		var elemento = elementi[i];
    		if(!trovato(vettore_id_esclusi, elemento.id) )
    		{
    
    			elemento.disabled = true;
    			elemento.readOnly = true;
    			elemento.onclick = function(){return false;};
    		}
    		
    	}
    	
    	
    	function trovato(vettore, elemento)
    	{
    		var i;
    		var t = false;
    		for(i = 0; i < vettore.length; i++)
    		{
    			if(vettore[i] == elemento)
    			{
    				t = true;
    				break;
    			}
    		}
    		return t;
    	}
    	
    		
    }
    Pietro

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    se funziona ti meriti un
    codice:
    alert('Danke!');
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Threepwood
    se funziona ti meriti un
    codice:
    alert('Danke!');
    in generale, id_contenitore è l'id del form, tipo form1, mentre vettore_id_esclusi in genere non si mette, a meno che non voglio disabilitare tutto tranne un elenco di elementi
    Pietro

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Dunque... lo script funziona però mi disabilita anche i testi normali e i grassetti... a me servirebbe che disabilitasse solo i campi tipo input, select,... etc

    magari nel pezzo
    codice:
    var elemento = elementi[i];
    	if(!trovato(vettore_id_esclusi, elemento.id) )
    	{
    		elemento.disabled = true;
    		elemento.readOnly = true;
    		elemento.onclick = function(){return false;};
    	}
    Si potrebbe capire il tipo di elemento... ma non saprei come fare
    Guybrush Threepwood

  6. #6
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    esempio stupido

    codice:
    var elemento = elementi[i];
    if(!trovato(vettore_id_esclusi, elemento.id) )
    {
       if ((elemento.tipo)!='normale') && (elemento.tipo!='strong'))
       {
          elemento.disabled = true;
          elemento.readOnly = true;
          elemento.onclick = function(){return false;
       }
    }
    Guybrush Threepwood

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    function disabilita(id_contenitore, vettore_id_esclusi)
    {
    	if(vettore_id_esclusi == undefined) var vettore_id_esclusi = [];
    	
    	var v = document.getElementById(id_contenitore);
    	if(v == undefined) return;
    	
    	var elementi = v.getElementsByTagName("*");
    	var i;
    	for(i = 0; i < elementi.length; i++)
    	{
    		var elemento = elementi[i];
    		var tipo = elemento.tagName.toUpperCase();
    		if(tipo != "INPUT" && tipo != "SELECT") continue;
    
    		if(!trovato(vettore_id_esclusi, elemento.id) )
    		{
    
    			elemento.disabled = true;
    			elemento.readOnly = true;
    			elemento.onclick = function(){return false;};
    		}
    		
    	}
    	
    	
    	function trovato(vettore, elemento)
    	{
    		var i;
    		var t = false;
    		for(i = 0; i < vettore.length; i++)
    		{
    			if(vettore[i] == elemento)
    			{
    				t = true;
    				break;
    			}
    		}
    		return t;
    	}
    	
    		
    }
    Pietro

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    var elemento = elementi[i];
    var tipo = elemento.tagName.toUpperCase();//alert(tipo);
    if(tipo != "INPUT" && tipo != "SELECT" && tipo != "TEXTAREA" && tipo != "OPTION" && tipo != "A" && tipo != "IMG") continue;
    Pietro

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non fai prima a ciclare su elements di un tag form che gli passi (via id?)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    xfetto, veramente una funzione comodissima!

    codice:
    alert('DANKE!!');
    Guybrush Threepwood

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.