Inserendolo così nell'head non funziona perché lo script verrebbe eseguito prima che gli elementi siano stati creati sul resto della pagina. In tal caso puoi usare window.onload.Ragion per cui chiedo: quel codice js deve stare necessariamente dopo l'html in questione?
Una cosa del genere:
codice:<!DOCTYPE HTML> <html> <head> <title>Esempio</title> <meta charset="utf-8"> </head> <script type="text/javascript"> window.onload = function(){ var rows = document.myform.querySelectorAll('.row') , l = rows.length , chk ; while(l--){ chk = rows[l].querySelector('input[name=inputCheck]'); chk.onchange = function(){ this.parentNode.querySelector('input.medium').disabled = !this.checked; } chk.onchange(); } } </script> <body> <form name="myform"> <div class="row"> <input type="checkbox" name="inputCheck" /> <label>Mele:</label> <input type="text" name="testoLabel" class="medium" /> </div> <div class="row"> <input type="checkbox" checked="checked" name="inputCheck" /> <label>Pere:</label> <input type="text" name="testoLabel" value="testo già presente #1" class="medium" /> </div> <div class="row"> <input type="checkbox" checked="checked" name="inputCheck" /> <label>Banane:</label> <input type="text" name="testoLabel" value="testo già presente #2" class="medium" /> </div> <div class="row"> <input type="checkbox" name="inputCheck" /> <label>Pesche:</label> <input type="text" name="testoLabel" class="medium" /> </div> </form> </body> </html>


Rispondi quotando