Newsgroup: it.comp.lang.javascript
Titolo: richiamare funzione da div

come da oggetto come faccio a richiamare una funzione
js all'interno di un div (si tratta di una funzione document.write) che 
andrebbe richiamata al caricamento della pagina (tipo onload).
attendo vs indicazioni e suggerimenti e ringrazio anticipatamente. 

 andrebbe richiamata al caricamento della pagina (tipo onload).
document.write scrive nella pagina *DURANTE IL CARICAMENTO*, eseguendo dopo
il caricamento sovrascriverai *TUTTA LA PAGINA*...è questo che vuoi
ottenere?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 ha scritto nel messaggio 
news:1uix0wmxi1o48.1...@40tude.net...

NO
dovrei scrivere un mailto dentro a un div dove e' presente gia' del testo.
es:
Voglio ottenere da una funzione js il seguente risultato:
"via Verdi, 27 tel. 06/99999999 fax 06/99999999 Email: 
in...@dominio.it
"
Dove tutto e' semplice testo inserito a mano nel div normalmente
escluso la parte  
in...@dominio.it
 che la inseriro' tramite funzione.
Per capirci ,a lavoro ultimato, se ho javascript disattivato visualizzero 
solo quanto segue
"via Verdi, 27 tel. 06/99999999 fax 06/99999999 Email: "   < con js 
disattivato non visualizzero' info@...
mentre con js attivato vedro' tutto
"via Verdi, 27 tel. 06/99999999 fax 06/99999999 Email: 
in...@dominio.it
"
 naturalmente dovrei richiamare la funzione che mi inserirà info@...  in 
quel punto preciso.
spero di essere stato abbastanza chiaro ..
attendo tue indicazioni
grazie 

 spero di essere stato abbastanza chiaro ..
Credo di sě. Ti conviene usare le DOM API per ottenere un riferimento al
nodo che vuoi modificare inserendo l'email e quindi aggiungere ad esso un
nodo appropriato (un anchor). Ipotizzando che la variabile targetElement
contenga il riferimento al nodo che vuoi modificare (il div contenente le
informazioni), potresti fare una cosa del genere:
var mailtoElement=targetElement.appendChild(document.createElement("a"));
mailtoElement.setAttribute("href","mailto:
nome@dominio
");
mailtoElement.setAttribute("title","Invia una e-mail al tizio");
mailtoElement.appendChild(document.createTextNode("Invia e-mail"));
Il modo in cui recuperi il riferimento al div dipende da come č strutturato
il tuo codice di markup. Il tutto, ovviamente, da fare allo scatenarsi
dell'evento onload del body.
Se hai bisogno, torna a postare.
-- 
Nando [?]
Apostolo della Prova

 Apostolo della Prova
Ti ringrazio della tua disponibilita'
per dire la verita' sono un po' a digiuno di js.
Mi potresti dare chiarimenti riguardo:
- targetElement.appendChild
- setAttribute
- appendChild
comunque la struttura che ho e':
div all'interno di un td all'interno di un tr all'internodi un table 
all'interno di body
Non so se e' a questo che alludevi prima (dipende da come č strutturato il 
tuo codice di markup)
attendo tua risposta . grazie 

 all'interno di body
Domande:
- hai un "record" per ogni riga? Cioč, ci sono N div che devi andare a
modificare, ciascuno inserito in una riga della tabella?
- se č cosě, all'interno della singola riga ci sono altri div oltre a
quello che vuoi modificare?
Insomma, se posti il codice di markup relativo facciamo prima :)


 modificare, ciascuno inserito in una riga della tabella?
ma no e' una semplice tabella con 2 righe e una colonna , nella seconda riga 
e' inserito il div in questione.
(Effettivamente poi la tabella con inserito il div e' presente in tutte le 
pagine, quindi forse sarebbe da tener conto.)

 pagine, quindi forse sarebbe da tener conto.)
Ma no, questo non importa.
Allora fai una cosa: metti un bel id al div:
<div id="targetElementID">....</div>
e quindi, nell'head del documento:
<script type="text/javascript">
window.onload=function() {
  var targetElement=document.getElementById("targetElementID");
  var mailtoElement=targetElement.appendChild(document.createElement("a"));
  mailtoElement.setAttribute("href","mailto:
nome@dominio
");
  mailtoElement.setAttribute("title","Invia una e-mail al tizio");
  mailtoElement.appendChild(document.createTextNode("Invia e-mail"));
};
</script>
Poi corri a studiare, nell'ordine:
1) l'inglese
2) javascript
Scherzo, ovviamente... ché dovrei correre io, per primo :)
'notte.


>> - hai un "record" per ogni riga? Cioč, ci sono N div che devi andare a

grazie tante e notte