Ciao, chiaramente si può risolvere in svariati modi.
Posto un esempio funzionante:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
</head>
<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>
<script type="text/javascript">
(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>
</html>
Personalmente non mi piace mescolare JavaScript con i tag HTML per cui ho separato le due parti.
Se hai bisogno di chiarimenti, chiedi pure.