Eccoci!
Adesso dovrebbe funzionare:
codice:
XHTML (esempio)
<input id="nome" name="nome" class="obbligatorio" />
<input id="cognome" name="cognome" />
<input id="email" name="email" class="obbligatorio" />
<input id="invia" type="submit" value="invia" />
Javascript
window.onload = function()
{
var invia = document.getElementById('invia')
var inputs = document.getElementsByTagName('input')
var inputs_obbligatori = new Array()
for (var i = 0; i < inputs.length; i++)
{
if ( inputs.item(i).className == 'obbligatorio' )
{
inputs_obbligatori.push(inputs.item(i))
}
}
function controlla_campi_obbligatori()
{
for (var i = 0; i < inputs_obbligatori.length; i++)
{
if ( inputs_obbligatori[i].value == '' )
{
invia.disabled = true
break
}
else
{
invia.disabled = false
}
}
}
invia.disabled = true
for (var i = 0; i < inputs.length; i++)
{
inputs.item(i).onkeyup = function()
{
controlla_campi_obbligatori()
}
}
}
Ho evidenziato con colori diversi i legami tra il markup e il codice javascript per facilitare l'individuazione delle parti eventualmente modificabili.