X-Git-Url: https://git.distorted.org.uk/~mdw/chopwood/blobdiff_plain/99ed4b3f1e1c687f915a98aa01bcf9703d30d641..245db33989f02513293b162695fac2114141bdc0:/chpwd.js diff --git a/chpwd.js b/chpwd.js index a271db4..f771d65 100644 --- a/chpwd.js +++ b/chpwd.js @@ -64,10 +64,15 @@ var FORMS = {}; * 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) { @@ -75,10 +80,10 @@ function check() { 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'); } }