Ciao,
non è facile capire esattamente cosa vuoi fare e quindi risponderti però mi sembra di aver capito che il problema principale è che nella seconda pagina, quella che generi con i document.write, il pulsante non esegue nessuna azione.
Il motivo di questo è che la function che tu vorresti che fosse eseguita non si trova nella seconda pagina ma nella prima.
In altre parole la function genera() non devi inserirla come hai fatto tu ma così:
codice:
<script type="text/javascript">
function genera_p() {
var n_icon = document.getElementById("n_icon").value;
var n_link = document.getElementById("n_link").value;
var icon;
var url;
if (n_icon<=5 && n_link<=10) {
for (icon=1; icon<=n_icon; icon=icon+1){
document.write("Icona "+ icon +": <input type=\"text\" id=\"immagine"+ icon +"\"/>
");
for (url=1; url<=n_link; url=url+1){
document.write("Nome "+ url +"-"+ icon +": <input type=\"text\" id=\"nome"+ url +"-"+ icon +"\" />Link : <input type=\"text\" id=\"link"+ url +"-"+ icon +"\" />
");
}
}
document.write("<input type=\"button\" value=\"Invia\" id=\"Invio\" onclick=\"genera()\" />
<textarea id=\"codice\"></textarea>");
document.write("<script type='text/javascript'> function genera() { alert('pippo'); } </scr"+"ipt>");
} else {
alert("I valori inseriti non sono validi (max icon = 5/max link = 10).")
}
}
</script>
io c'ho messo un alert ma tu mettici quello che vuoi.
Nota che per evitare conflitti fra le chiusure di script ho spezzato la parola script in due parti che, di per sé, non significano niente quindi non disturbano lo script della prima pagina ma che, rimontate assieme, vanno a chiudere lo script della seconda pagina.
Spero di averti dato uno spunto utile e se hai bisogno chiedi pure però fino a martedì è difficile che mi colleghi.
Ciao