il tuo script cerca di settare una funzione all'onclick sul button, se il tuo script è nell'head non può funzionare, perchè quando il browser raggiunge la riga:
document.f1.b1.onclick=alarm;
non sa ancora cosa sia f1, quindi l'istruzione non fa nulla.
Mentre se lo metti nel body, dopo il form, funziona, perchè il browser,sa già cosa è f1.
Se metti lo script subito dopo l'apertura del tag body,e prima del form, vedrai che non funziona, per lo stesso motivo dell'head.
quindi tu dovresti mettere la funzione alarm nell'head e associare all'onload della pagina l'associazione dell'evento onclick del button con la funzione. Cosi:
codice:<head> <script language="javascript"> var p; function alarm() { alert('alarm'); } </script> <body onload="document.f1.b1.onclick=alarm;"> <form name="f1"> <input name="b1" type="button" value="premi qui" /> </form> </body>![]()