Semplicissimo. Ci sono 2 modi (uno "normale" e uno più aderente allo standard DOM del W3C). Tu hai i campi di testo identificati da un attributo name, quindi devi usare il primo metodo. Il codice è il seguente:
codice:
<input type="text" name="num_progetto" value="10" onblur="copiavalore(this.value);">
Codice della funzione JavaScript (NOMEFORM è il nome del form che contiene i due campi di testo):
function copiavalore(valore) {
document.NOMEFORM.num_img.value = valore;
}
Se invece che identificare i campi di testo con un attributo name avessi usato un attributo id (secondo metodo), il codice della funzione sarebbe cambiato in questo modo:
function copiavalore(valore) {
document.getElementById("num_img").value = valore;
}[/CODE]
Questo secondo metodo come vedi ti evita di "passare" per l'oggetto form ed è quello più aderente allo standard DOM del W3C. Ovviamente, i due campi di testo nella pagina devono avere un loro attributo id:
codice:
<input type="text" id="num_progetto" onblur="copiavalore();">
Una piccola variazione al codice. Come vedi ho usato onblur come gestore di evento nel campo di testo "num_progetto". Questo fa in modo che OGNI VOLTA che il campo "num_progetto" riceve il focus (anche se il valore al suo interno non cambia) e poi viene "abbandonato" facendo clic su un altro oggetto della pagina, sia richiamata la funzione che riscrive il valore nel campo "num_img". Nel tuo caso penso sarebbe indifferente usare onchange al posto di onblur (il funzionamento è uguale, ma onchange richiama la funzione SOLO se il valore nel campo "num_progetto" è stato effettivamente modificato).