* submitting a form with invalid data.
*/
+function update(obj, slot, value) {
+ /* Update an object slot only if we're gping to change its value. */
+ if (obj[slot] !== value) obj[slot] = value;
+}
+
function check() {
/* Check through the various forms to make sure they're filled in OK. If
- * not, set the `F-whinge' elements, and disable `F-submit'.
- */
+ * not, set the `F-whinge' elements, and disable `F-submit'.
+ */
var f, form, whinge;
for (f in FORMS) {
we = elt(f + '-whinge');
sb = elt(f + '-submit');
whinge = form.check();
- if (sb !== null) sb.disabled = (whinge !== null);
+ if (sb !== null) update(sb, 'disabled', whinge !== null);
if (we !== null) {
- we.textContent = whinge || 'OK';
- we.className = whinge === null ? 'whinge' : 'whinge wrong';
+ update(we, 'textContent', whinge || 'OK');
+ update(we, 'className', whinge === null ? 'whinge' : 'whinge wrong');
}
}
// properly.
for (w in form.elts) {
if ((e = elt(f + '-' + form.elts[w])) === null) continue;
- e.addEventListener('click', check_soon);
- e.addEventListener('change', check_soon);
- e.addEventListener('keypress', check_soon);
- e.addEventListener('blur', check_soon);
+ e.addEventListener('click', check_soon, false);
+ e.addEventListener('change', check_soon, false);
+ e.addEventListener('keypress', check_soon, false);
+ e.addEventListener('blur', check_soon, false);
}
if ((e = elt(f + '-submit')) !== null) {
e.addEventListener('click', function (ev) {
return check_presubmit(ev, f)
- });
+ }, false);
}
})(f, FORMS[f]);
}
-window.addEventListener('load', init);
+window.addEventListener('load', init, false);
/*----- That's all, folks -------------------------------------------------*/