I have a web page with a form on it. The "submit" button is supposed to remain deactivated until the user fills in all the necessary fields. When they fill in a field, a checkmark appears next to it. When all the checkmarks are there, we're good to go.
A checkmark might be set by code like this:
if (whatever) checkLocation.innerHTML = CHECKMARK;
Here's the code I'm using to do the final check. It just loops through all the locations where there may be checkmarks. If it finds a location without a mark, it disables the submit button and leaves. If it gets through them all, it activates the button and returns true.
function checkSubmitButton() {
    var button = document.getElementById(SUBMIT_BUTTON);
    for (var i=0; i<CHECK_LOCATIONS.length; i++) { // should be for-each, but JS support is wonky
        var element = document.getElementById(CHECK_LOCATIONS[i]);
        console.log(CHECK_LOCATIONS[i] +": " +element.innerHTML);
        // if found unchecked box, deactivate & leave
        if (element.innerHTML != CHECKMARK) {
            button.disabled = true;
            return false;
        }
    }
    // all true--activate!
    console.log("ACTIVATING BUTTON!");
    button.disabled = false;
    return true;
}
Here's the problem: this works so long as the const CHECKMARK contains something simple, like "X". But specs call for a special HTML character to be used: in this case ✓, or ✓. When I do the comparison (in the if line) it ends up comparing the string "✓" to the string "✓". Since these two are not equal, it doesn't recognize a valid checkmark and the button never activates. How can I compare the contents of the HTML element my constant? (And hopefully make the code work even if down the road somebody replaces the checkmark with something else.)
Thanks.
 
     
    