Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    trovare un ID che contenga una parte di stringa

    Sappiamo che getElementById("stringa") trova l'ID corrispondente alla determinata stringa, il quesito invece è:

    trovare una ID attraverso una parte di stringa (indexOf).

    Qual'è la giusta sintassi?

    GRAZIE!!!


  2. #2
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    if (document.getElementById(indexOf('_pul_')) > -1) è GIUSTA?
    if (document.getElementById.indexOf('_pul_') > -1) altrimenti, questa?


  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Pure fantasie allucinatorie :rollo:

    Immaginando di assomigliare il metodo getElementById('nome') al metodo mettitiInContattoCon('nome') il tuo e' un tentativo di fare mettitiInContattoCon('nonsochimabastachecontengaZ' )

    Personalmente non vedo l'utilita' di una cosa simile, solitamente chi progetta e scrive una pagina lo fa rendendosi possibile trovare tutti gli oggetti ai quali ha necessita' di accedere... ma puoi sempre illuminarci sulle esigenze che hai incontrato.

    Se poi e' solo un problema puramente accademico, provocatorio o speculativo sei pregato di precisarlo nelle premesse , una chiaccherata a tempo perso si puo' sempre fare, ma e' meglio saperlo prima.

    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

  4. #4
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    In pratica mi serve per dei pulsanti..

    Codice PHP:
    function clic(id_pul) {
            var 
    id_pul_inddocument.getElementById(id_pul);
        if (
    id_pul_ind) {
                if (
    id_pul_ind.className.indexOf("puls1") > -1) var puls_grd "puls1";
                if (
    id_pul_ind.className.indexOf("puls2") > -1) var puls_grd "puls2";
                if (
    id_pul_ind.className.indexOf("puls3") > -1) var puls_grd "puls3";
                if (
    cont == 1) {
                        
    id_pul_ind.classNamepuls_grd+"_x3";
                
    cont 0;
                }
                else {
                        
    id_pul_ind.classNamepuls_grd+"_x2";
                
    cont 1;
                }
            }
            else {
                while (
    puls_grd && !id_pul_ind) {
                    
    id_pul_ind.classNamepuls_grd+"_x3"//*IL problema è riconoscere id_pul_ind diverso da id_pul, ma deve ricercarlo tra i vari pulsanti che hanno l'id con una parte di stringa = a "_pul_"
                    
    }
            }

    *IL problema è riconoscere id_pul_ind diverso da id_pul, ma deve ricercarlo tra i vari pulsanti che hanno l'id con una parte di stringa = a "_pul_"

    Come vedi è essanziale che io riconosca il pulsante diverso da quello cliccato (il problema è proprio che non è prendi un ID di un elemento qualsiasi, ma l'ID di un "elemento" pulsante!)



  5. #5
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    UP!

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti mando una pagina. C'è il codice ed è fatta in modo da collaudarlo.
    Provalo ma dimmi se funziona perchè debbo archiviarmi la procedura.
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    
    function Button1_onclick() 
    {
        try
        {
            var v = eval($("Text1").value);
            $("div2").innerHTML = v.join("
    ");
        }
        catch(e)
        {
    	    $("div2").innerHTML = e.message;
        }
        
    }
    
    
    /*--------------------------------------------------------------------------
    trova gli elementi che soddisfano il criterio in un vettore:
    source:		contenitore o id contenitore. se null = body
    tagName:	se null = "*"
    type:		se null non ne tengo conto
    idSearch:	se valorizzato, tutti gli elementi con id che inizia con idSearch
    flagSeach:  se valorizzato, 1 -> id inizia per idSearch
                                2 -> id contiene idSearch
                                3 -> id termina con idSearch
    ----------------------------------------------------------------------------*/
    function getElements(source, tagName, type, idSearch, flagSeach)
    {
    	var v = [];
    	
    	var result = getTypeParameter(source);
    	if(result == 0)
    		source = document.body;
    	else if(result == 2)
    		source = document.getElementById(source);
    	else if(result == 4)
    		source = source;
    	else
    		return v;
    
    	tagName = (tagName == undefined)? "*" : tagName;
    	type = (type == undefined)? "" : type;
    	idSearch = (idSearch == undefined)? "" : idSearch;
    	flagSeach = (flagSeach == undefined)? 1 : flagSeach;
    	
    	var elementi = source.getElementsByTagName(tagName);
    	var n = elementi.length;
    	for(var i = 0; i < n; i++)
    	{
    		var elemento = elementi[i];
    		if( (elemento.type != undefined && elemento.type.toLowerCase() == type.toLowerCase() ) || (type == "") )
    		{
    			if( (elemento.id != undefined) && ( ((flagSeach == 1 && elemento.id.indexOf(idSearch, 0) == 0) || idSearch == "") || ((flagSeach == 2 && elemento.id.indexOf(idSearch, 0) >= 0) || idSearch == "") || ((flagSeach == 3 && elemento.id.indexOf(idSearch, 0) == (elemento.id.length - idSearch.length) ) || idSearch == "") )  )
    			{
    				v[v.length] = elemento.id;
    			}
    		}
    	}
    	
    	return v;
    
    
    }
    
    /*----------------------------------------------------------
    Restituisce il tipo di parametro ricevuto
    0 -> indefinito
    1 -> funzione
    2 -> id oggetto che supporta innerHTML
    3 -> id oggetto che supporta value
    4 -> oggetto che supporta innerHTML
    5 -> oggetto che supporta value
    6 -> vettore
    -----------------------------------------------------------*/
    function getTypeParameter(v)
    {
    	if(typeof(v) == "undefined")
    	{
    		//alert("undefined");
    		return 0;
    	}
    	else if(typeof(v) == "function")
    	{
    		//alert("funzione");
    		return 1;
    	}
    	else if(typeof(v) == "string")
    	{
    		if(document.getElementById(v) != undefined)
    		{
    			if(document.getElementById(v).value != undefined)
    			{
    				//alert(" id value");
    				return 3;
    			}
    			else if(document.getElementById(v).innerHTML != undefined)
    			{
    				//alert("id innerHTML");
    				return 2;
    			}
    		}
    		else return 0;
    		
    
    	}
    	
    	else if(typeof(v) == "object")
    	{
    		if(v == null)
    		{
    			//alert("null");
    			return 0;
    		}
    		else
    		{
    			if(v.length != undefined)
    			{
    				//alert("vettore");
    				return 6;
    			}
    			else
    			{
    				if(v.value != undefined)
    				{
    					//alert(" oggetto value");
    					return 5;
    				}
    				else if(v.innerHTML != undefined)
    				{
    					//alert("oggetto innerHTML");
    					return 4;
    				}
    				
    			}
    		}
    	}
    	//indefinito o altro
    	return 0;
    	
    }
    
    function $() 
    {
        var elements = new Array();
    
        for (var i = 0; i < arguments.length; i++) 
        {
            var element = arguments[i];
            if (typeof element == 'string')
                element = document.getElementById(element);
    
            if (arguments.length == 1)
                return element;
    
            elements.push(element);
        }
    
        return elements;
    }
    // ]]>
        </script>
    </head>
    <body>
        <div id="x_span1_y">x_span1_y</div>
        
        <div id="div1" style="border:1px red solid;">
            <div id="x_span2_y">x_span2_y</div>
            <div id="x_span3_y">x_span3_y</div>
            <div id="x_span4_y">x_span4_y</div>
            <div id="x_span5_y">x_span5_y</div>
            <input id="File1" type="file" />
            
    
            <input id="Text2" type="text" />
        </div>
        
    
        getElements(source, tagName, type, idSearch, flagSeach)
        
    
        <input id="Text1" style="width: 616px" type="text" value="getElements('div1', 'div', null, 'span', 2);" />
        
        <input id="Button1" type="button" value="Cerca" onclick="return Button1_onclick()" />
        
    
        
    
        <div id="div2"></div>
    </body>
    </html>
    Pietro

  7. #7
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    DA BR1 IN UN'ALTRA DISCUSSIONE:

    if (oggettoAltrimentiSelezionato.id.indexOf("sillaba" )>=0) ...

    oppure

    if (oggettoAltrimentiSelezionato.id.substr(0,sillaba. length)==sillaba)>=0) ...

    Mi chiedevo come fare riferimento con questi script all'id di una TD...ditemi se sbaglio:

    if sillaba= "puls"; (document.getElementByTagName("td").id.substr(0,si llaba.length)== sillaba))


    In questo caso devo dichiarare anche cos'è id?


    PS. Scusate per l'altro post.

    Ciao!

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    if sillaba= "puls"; (document.getElementByTagName("td").id.substr(0,si llaba.length)== sillaba))

    ci sono sette parentesi in questa riga, un if davanti che non ha ragione d'essere, un getElementByTagName che cosi' al singolare non esiste... stai continuando ad inventare un nuovo linguaggio?

    Quando ci sarai riuscito forse ti deciderai a studiare il javascript... almeno per essere sicuro di averlo fatto differente.

    Una volta lessi che con sufficiente tempo a disposizione anche un analfabeta riuscirebbe a scrivere l'enciclopedia britannica pestando a caso sui tasti... prendilo come un augurio di lunga vita.

    PS: la soluzione al tuo problema e' stata postata piu' volte anche recentemente... usa la ricerca
    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

  9. #9
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Ops.. scusa gli errori!

    var sillaba= "puls"; if (document.getElementsByTagName("td").id.substr(0,s illaba.length)== sillaba)


    Provo a ricercare... ma cosa in particolare?

    Grazie!

    PS. cmq se mi dai consigli anche per lo script sopra..^^;

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Igreo
    PS. cmq se mi dai consigli anche per lo script sopra..^^;
    comincia da qui:
    http://javascript.html.it/guide/legg...cript-di-base/
    http://javascript.html.it/guide/legg...pt-per-esempi/
    http://javascript.html.it/guide/leggi/24/guida-dom/

    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

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.