Questo è un possibile esempio. È del tutto arbitrario e gli si deve dare una controllata. Le checkbox e i campi senza name verranno ignorati.
script:
codice:
<script type="text/javascript">
function checkAll (oForm) {
var bUnchecked, nRadId, aRadioGroup, oRadioGroups = {}, aFields = oForm.elements;
// text, textarea, select, checkbox, submit, button.
for (var nElId = 0; nElId < aFields.length; nElId++) {
oField = aFields[nElId];
if (!oField.name || oField.type === "checkbox") { continue; }
else if (oField.type === "radio" && !oRadioGroups.hasOwnProperty(oField.name)) { oRadioGroups[oField.name] = oForm[oField.name]; }
else if (!oField.value) { alert("Compilare il campo \"" + oField.name + "\"."); oField.focus(); return false; }
}
// radio.
for (var sGroupName in oRadioGroups) {
aRadioGroup = oRadioGroups[sGroupName];
bUnchecked = true;
for (nRadId = 0; nRadId < aRadioGroup.length; nRadId++) {
if (aRadioGroup[nRadId].checked) { bUnchecked = false; break; }
}
if (bUnchecked) { alert("Scegliere un\\'opzione per il gruppo \"" + sGroupName + "\"."); aRadioGroup[0].focus(); return false; }
}
return true;
}
</script>
html:
codice:
<form name="myForm" onsubmit="return checkAll(this);" action="azione.php">...</form>