Newsgroup: it.comp.lang.javascript
Titolo: getElementById(...).innerHTML

		function cancella_righe_fun(){
			if(n>1){
				y=1;
				while (y<=6){
					document.getElementById("rigo_"+n+"_"+y).innerHTML="";
					y=y+1;
				}
				n=n-1;
			}
		}
con questa funzione sostituisco degli oggetti con il nulla, però la riga 
  mi rimane sempre. c'è un modo per deletare del tutto la riga?
grazie, ciao
d.

   mi rimane sempre. c'è un modo per deletare del tutto la riga?
beh, potresti semplicemente settare un display:none...
oppure vedi removeChild:
 
http://developer.mozilla.org/en/docs/DOM:element.removeChild
(per removeChild devi avere un riferimento al parent dell'oggetto da
rimuovere, che lo ottieni comunque con parentNode dall'oggetto stesso:
 
http://developer.mozilla.org/en/docs/DOM:element.parentNode
Quindi diventerebbe un qualcosa del tipo
 tuooggetto.parentNode.removeChild(tuooggetto);
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

Cristiano Larghi ha scritto:

grazie ancora una volta cris!

cris scusa la domanda, vedo che le variabili sono sempre settate con var 
nome = etc.;
io non metto mai var, e va sempre tutto ok, è sbagliato o si può 
omettere var?
tnx
d.

dade <preferisc@nonspammare> ha scritto:

http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:var
-- 
Nando [?]
Apostolo della Prova

 
grazie nando ma non mi va come risposta

 
no ancora non ci siamo, riesco solo a sostituire la riga ma poi mi 
lascia lo spessore...

dade <preferisc@nonspammare> ha scritto:

E quale risposta avresti gradito?


 
eheh,che potevo tralasciare var davanti ad una variabile, se lo si 
lascia cosa succede?

dade <preferisc@nonspammare> ha scritto:

Ma è spiegato lì... le implicazioni principali dell'uso/non uso di var
riguardano lo scope (campo di visibilità) delle variabili: usando var, la
variabile è locale alla funzione dove è definita, quindi non viene vista al
di fuori di essa, mentre una variabile definita implicitamente (senza var,
con una semplice assegnazione) è una variabile globale (viene vista
ovunque). Le variabili definite al di fuori di una funzione sono sempre
globali, che si usi o meno var.
Un esempio:
<html>
<head>
<title></title>
<script type="text/javascript">
  var num=0; //var. globale, contatore di click
  window.onclick=function() {
    num++;
  };
  function alertCount() {
    alert("Hai clickato "+num+" volte nella pagina");
    return false;
  };
  function alertRandom() {
    num=(new Date()).getMilliseconds()
    alert("Il numero casuale è "+num);
    return false;
  };
</script>
</head>
<body>
  <p><a href="#" onclick="return alertCount()">Mi dici quante volte ho
clickato nella pagina?</a></p>
  <p><a href="#" onclick="return alertRandom()">Mi d&agrave;i un numero
casuale?</a></p>
</body>
</html>
Prova a vedere se così funziona come ti aspetteresti... poi, nella funzione
alertRandom, cambia la riga
  num=(new Date...
e falla diventare
  var num=(new Date...
e vedi cosa succede.



grande nando, non ho bisogno di provare, mi bastava capire che 
differenza c'era! grazie mille!!
ciao, davide

nando, una cosa ancora, spero tu mi posso illuminare,
con document.getElementById("rigo_"+n+"_"+y).innerHTML+="blabla"; 
aggiungo delle righe ok? poi con
document.getElementById("rigo_"+n+"_"+y).innerHTML=""; le svuoto, però, 
giustamente, al loro posto mi rimangono le righe vuote, io invece vorrei 
fare in modo che si elimini proprio la riga, in modo da non aver alcun 
spessore. mi hanno provato a spiegare in precedenza ma non ci sono 
riuscito, tu che dici?
grazie,
d.

 in modo da non aver alcun spessore
// Elimina riga
elt=document.getElementById("rigo_"+n+"_"+y);
elt.innerHTML="";
elt.style.display="none";
Te l'aveva già detto Cristiano :)
NB: ovviamente il display deve essere ripristinato quando "riempi" la riga


Nando ha scritto:

esatto, lo so laveva detto ma non ero li con la testa, come lo 
rispistino con "visible" ?

> riga
cmq rimangono sempre gli spessori, può essere colpa dello span?

 cmq rimangono sempre gli spessori, può essere colpa dello span?
ho capito cosa, come facevo andava bene, è colpa del <br> siccome uso 
span, per andare a capo faccio mettere un <br> nel rigo contenitore, ora 
sistemo e lo faccio mettere sul rigo generato :D

dade <preferisc@nonspammare> ha scritto:

No, "visible" è un valore accettato per la proprietà "visibility", non per
la proprietà "display". Nel tuo caso, immagino vada benissimo
elt.style.display="" per ripristinare il display di default.


 span, per andare a capo faccio mettere un <br> nel rigo contenitore
Argh! Ma perché, se hai la necessità di andare a capo, usi <span>? HTML
mette a disposizione tanti bei tag :)


Nando ha scritto:

allora se uso <p> ogni cosa che metto mi va a capo. se uso <span> non va 
a capo, cosa posso usare come contenitore? <div> va a capo...

 a capo, cosa posso usare come contenitore? <div> va a capo...
praticamente faccio questo, alla riga aggiungo tanti input box per 
inserire valori ok? precisamente sono sei, quindi prima di inserire il 
primo box faccio mettere un br, quindi quando poi vado ad eliminare la 
riga il br dovrebbe sparire... lo spazio rimane... mistero, lo faccio 
poi settare davanti allo <br><span> quindi quando elimino lo span, il br 
dovrebbe andarsene... e mica se ne va...

dade ha scritto:

ci sono quasi :D metto br sentro lo span :D
grazie di tutto nando :)
ciao, d.

dade <preferisc@nonspammare> ha scritto:

Marò, che confusione :-S
Deve esserci un ritorno a capo dopo ogni input? Puoi anche evitare lo span
e mettere solo gli input, magari dandogli un display:block da css. Devo
essere sincero: ho delle serie difficoltà a capirti :)


dade <preferisc@nonspammare> ha scritto:

Ah, ok... prego figurati, ciao :)


 E quale risposta avresti gradito?
Sei troppo un "pezzo di pane" :) Personalmente credo che, al massimo,
avrei fatto il copia&incolla dalla reference. E sarebbe già stato tanto
:P
-- 
"Se c'è qualcosa di più importante del mio ego su questa nave,
la voglio catturata e fucilata."

 globali, che si usi o meno var.
Vero, ma c'č differenza. Ricordati il delete.
-- 
"Se c'č qualcosa di piů importante del mio ego su questa nave,


 Vero, ma c'č differenza. Ricordati il delete.
Sě, ho letto quel thread... ma ho ritenuto opportuno non mettere troppa
carne a cuocere focalizzando gli aspetti che piů facilmente possono
condurre a risultati inattesi. 'zzo come parlo bene :)
