Newsgroup: it.comp.lang.javascript
Titolo: funzionamento getElementByName

Ciao Ragazzi
mi chiedevo ma è possibile scrivere cosi:
in html :
 <div id="T<%=k%>C<%=Rig%>" > 0</div>
 <INPUT  type="hidden" name="T<%=k%>C<%=Rig%>"  >
il nome lo devo lasciare per forza cosi paramentro.
in javascript riempio il valore hidden con dei valori.
document.getElementById(id).innerHTML = ValoreFinale
document.getElementByName(id).value = ValoreFinale
posso riempire un getElementByName passandogli un paramentro ?
siccome quando me lo vado a leggere è sempre zero!!!
mentre a monitor innerHTML ha funzionato!!!

 quando me lo vado a leggere è sempre zero!!!
No, non nel senso che pensi tu.
Puoi scrivere l'HTML cosi`:
a = document.getElementByName('T<%=k%>C<%=Rig%>');
 
che te lo compilera` esattamente come l'altro, ma dubito che sia quello 
che cerchi.
Devi chiarirti la differenza tra codice server side e codice client side, 
e poi usare firefox e firebug per vedere come risulta la tua pagina e i 
tuoi javascript.
Infine, probabilmente, dovrai ciclare sui tuoi campi input per fare 
quello che vuoi.
Bye.

 Devi chiarirti la differenza tra codice server side e codice client side,
(altro che se non ce l'ho chiara!!!la differenza eheh)
invece mi chiedevo se volessi sommare algebricamente gli elementi dentro una 
pagina html
in html :
<div id="T1C1">12</div>
<div id="T1C2">12</div>
<div id="T1C3">12</div>
ogni volta che cambio un valore div mi deve fare il ciclo dei div e 
calcolare la nuova somma da mettere poi dentro un campo input text
in javascript
volevo usare questo
 elementiForm = document.forms[0].elements
 for (i=1; i<elementiForm.length-1; i++) {
 }
ma mi sono reso conto che carico i div senza fare il post quindi 
l'istruzione document.forms[0].elements  non posso utilizzarla.
Cosa posso prendere i valori div ?

 l'istruzione document.forms[0].elements  non posso utilizzarla.
Mi sto perdendo... :)
Se i div sono gia` nella pagina, un ciclo simile a quello che hai postato 
dovrebbe funzionare. Solo che tu lo fai sugli elementi di un form, non 
sui div.
Credo che forms[0].elements contenga solo i tag dei form (input, 
textarea, select, ecc.) e non gli altri (div, label, ecc.), ma qui lascio 
la parola ai piu` esperti... :)
Bye.

 mentre a monitor innerHTML ha funzionato!!!
Ti basta un poco di debugging, nel caso, per verificare.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

 ha scritto nel messaggio 
news:8b7u8n...@mid.individual.net...


 calcolare la nuova somma da mettere poi dentro un campo input text
Qual'è la struttura della pagina? Intendo dire, questi DIV sono uno dopo 
l'altro, figli dello stesso nodo? Come:
<div id="T1">
	<div id="T1C1">12</div>
	<div id="T1C2">12</div>
	<div id="T1C3">12</div>
</div>
Oppure sono sparsi nella pagina / ci sono altri div con altri ID, nello 
stesso elemento padre?


> <div id="T1C3">12</div>
Questi Div si chiamano tutti
div id="DIVT<%=PosT(k)%>C<%=PosC%>">
si forse si ci sono altri div ma il comune denominatore potrebbe essere 
prendere tutti quelli che hanno id i primi 4 con DIVT
che l'hanno tutti!!!!
che dici? 

 prendere tutti quelli che hanno id i primi 4 con DIVT
Per che browser devi fare questo applicativo? Se il browser è recente, 
lo puoi fare nativamente. Altrimenti no, hai bisogno di una libreria 
quale Sizzle (o un framework che usa Sizzle o simile, come dojo, 
jquery...). E lo puoi fare, ma le performance non saranno eccelse - 
oddio, magari non ne hai bisogno, di performance eccelse.


 Hai un esempio della pagina online?
Ecco un po di codice
//26/07/2010
function InsertTastiera(ValoreInput,namediv,id,righe,colonne){
      // mette nei campi hidden il valore selezionato
      //Fare tutta la somma dei div
      /*
      document.form_quantita.Quantita.value = somma
      */
}
function popupTastiera(status,namediv,id,righe,colonne){
      newdiv = document.createElement("div");
 
newdiv.id
 = "mine1";
      document.body.appendChild(newdiv);
      mydiv = document.getElementById("mine1");
      var content="<table>"
      content = content + "<tr><td  ><a 
href='javascript:closeTastiera()'>["+ GWChiudi +"]</a></td></tr>"
      content = content + "<tr><td ><b>" + GWTitolo + "</b></td></tr>"
      content = content + "<tr>"
      content = content + "<td ><a href=javascript:InsertTastiera('1','" 
+namediv+ "','" +id+ "','" +righe+ "','" +colonne+ "')>1</a></td>"
      content = content + "<td ><a href=javascript:InsertTastiera('2','" 
+namediv+ "','" +id+ "','" +righe+ "','" +colonne+ "')>2</a></td>"
      content = content + "<td ><a href=javascript:InsertTastiera('3','" 
+namediv+ "','" +id+ "','" +righe+ "','" +colonne+ "')>3</a></td>"
      content = content + "</tr></table>";
      newdiv.innerHTML=""+content;
}
FORM action="aggiungi.asp" method="post" ID="form_quantita" 
name="form_quantita">
      <INPUT type="hidden" value="" id="CodLotto" name="CodLotto">
      <INPUT type="hidden" value="00022" id="CodiceCF" name="CodiceCF">
      <INPUT type="hidden" value="006IN10" id="CodArticolo" 
name="CodArticolo">
      <table align="center" cellspacing="1" cellpadding="1" width="100%"  >
       <!-- prima riga-->
      <tr>
      <!-- prima colonna-->
            <td class="fixedHeader1" align="right" valign="middle" 
 >Taglie/Colori</td>
            <td align="center" 
class="txtTitoloInfo1"><strong>44</strong></td>
            <td align="center" 
class="txtTitoloInfo1"><strong>44,5</strong></td>
      </tr>
      <tr>
            <td align="right" 
class="txtTitoloInfo1"><strong>[BIANCO/NERO]</strong></td>
            <td align="center" class="txtTitoloInfo2"   valign="top" 
width="7%"  height="30" >
                  <table cellspacing="0" cellpadding="0"   >
                        <tr>
                             <td  valign="middle" align="center" 
class="font7"  >
                                   <div id="DIVT5C14">0</div>
                             </td>
                             <td class="font7" valign="middle" >
                                   <INPUT  type="hidden" id="T5C14" 
name="T5C14" >
                                   <a href="#" 
onclick="popupTastiera('show','DIVT5C14','T5C14','10','10')">
                                   <img 
src="images/newgrafica/tagliaecolori4.gif" alt="" style="border:0px">
                                   </a>
                             </td>
                             <td  valign="middle" align="center" ></td>
                        </tr>
                   </table>
            </td>
            <td align="center" class="txtTitoloInfo2"   valign="top" 
width="7%"  height="30" >
                  <table cellspacing="0" cellpadding="0"   >
                        <tr>
                             <td  valign="middle" align="center" 
class="font7"  >
                                   <div id="DIVT7C14">0</div>
                             </td>
                             <td class="font7" valign="middle" >
                                   <INPUT  type="hidden" id="T7C14" 
name="T7C14" >
                                         <a href="#" 
onclick="popupTastiera('show','DIVT7C14','T7C14','10','10')">
                                               <img 
src="images/newgrafica/tagliaecolori4.gif" alt="" style="border:0px">
                                         </a>
                             </td>
                             <td  valign="middle" align="center" >
                             </td>
                        </tr>
                  </table>
            </td>
      </table>
      <table align="right" cellspacing="1" cellpadding="1" width="100%">
            <tr>
                  td class="fixedHeader1"  align="center"><a 
href="javascript:azzera()">Azzera</a></td>
                  td class="fixedHeader1" 
align="right"><strong>TOTALE</strong>&nbsp;
                  <INPUT  class="castesto" id="Quantita" name="Quantita" 
readonly="readonly"   value="0">
            </tr>
      </table>
/form>
." 

il succo di tutto è che dovrei fare la somma di tutti gli <div 
id="DIVT7C14">0</div>
della pagina ogni volta che inserisco un valore nuovo.



Si`, ma come ti diceva Zer0, se quei div li metti dentro qualcos'altro 
(un altro div per esempio) e` molto piu` semplice.
Altrimenti devi fare un getElementsByTagName per prendere TUTTI i div 
della pagina e poi filtrarteli tutti a mano con un if.
Bye.

 della pagina e poi filtrarteli tutti a mano con un if.
poniamo il caso che metta un <div id=Dario"> main alla pagina come 
contenitore di tutto
come dovrei filtralmeli?
io invece cercavo qualcosa come
document.forms[0].elements (nel caso dei post qui sarebbe diverso )
e poi filtrarmi i valori i valori di tutti gli div presenti nella pagina
ho visto che nn ci sono altri DIV 



Ho visto il codice, è un discreto casotto. Ma il succo è che non puoi
affidarti al DOM per risolvere la questione, quindi a meno che tu non
cambi impostazione della pagina, devi usare altre strade.
Su che browser devi far girare questo codice?


> Su che browser devi far girare questo codice?
SAFARI
ci sono riuscito filtrandomi anziche i div gli hidden :-D 

 ci sono riuscito filtrandomi anziche i div gli hidden :-D 
Pensavo che il tuo scopo fosse quello di recuperare i DIV. Dal codice
che hai pubblicato risalire per tutti gli hidden al corrispettivo div
non mi sembra molto performante (è sempre per via della struttura DOM
incasinata che hai. Dovresti migliorarla).
