03f3c7764cfff10f076ce2356cfb7911858fd8f6 kent Fri Nov 30 11:41:27 2012 -0800 Making htmlCheck not warn about missing NAME tags for INPUT tags if they have an ONCHANGE. diff --git src/lib/htmlPage.c src/lib/htmlPage.c index cb8b01b..9bcafe1 100644 --- src/lib/htmlPage.c +++ src/lib/htmlPage.c @@ -684,31 +684,32 @@ struct htmlTag *tag; struct htmlFormVar *varList = NULL, *var; struct hash *hash = newHash(0); for (tag = form->startTag->next; tag != form->endTag; tag = tag->next) { if (sameWord(tag->name, "INPUT")) { char *type = htmlTagAttributeVal(page, tag, "TYPE", NULL); char *varName = htmlTagAttributeVal(page, tag, "NAME", NULL); char *value = htmlTagAttributeVal(page, tag, "VALUE", NULL); if (type == NULL) type = "TEXT"; if (varName == NULL) { - if (!sameWord(type, "SUBMIT") && !sameWord(type, "CLEAR") + if (!htmlTagAttributeVal(page, tag, "ONCHANGE", NULL) + && !sameWord(type, "SUBMIT") && !sameWord(type, "CLEAR") && !sameWord(type, "BUTTON") && !sameWord(type, "RESET") && !sameWord(type, "IMAGE")) tagWarn(page, tag, "Missing NAME attribute"); varName = "n/a"; } var = findOrMakeVar(page, varName, hash, tag, &varList); if (var->type != NULL && !sameWord(var->type, type)) { if (!isMixableInputType(var->type) || !isMixableInputType(type)) tagWarn(page, tag, "Mixing input types %s and %s", var->type, type); } var->type = type; if (sameWord(type, "TEXT") || sameWord(type, "PASSWORD") || sameWord(type, "FILE") || sameWord(type, "HIDDEN") || sameWord(type, "IMAGE"))