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!!!
![]()
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!!!
![]()
if (document.getElementById(indexOf('_pul_')) > -1) è GIUSTA?
if (document.getElementById.indexOf('_pul_') > -1) altrimenti, questa?
![]()
![]()
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
In pratica mi serve per dei pulsanti..
*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_"Codice PHP:function clic(id_pul) {
var id_pul_ind= document.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.className= puls_grd+"_x3";
cont = 0;
}
else {
id_pul_ind.className= puls_grd+"_x2";
cont = 1;
}
}
else {
while (puls_grd && !id_pul_ind) {
id_pul_ind.className= puls_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_"
}
}
}
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!)
![]()
![]()
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
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!
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
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..^^;
comincia da qui:Originariamente inviato da Igreo
PS. cmq se mi dai consigli anche per lo script sopra..^^;
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