-
Notifications
You must be signed in to change notification settings - Fork 3k
Open
Labels
clarificationStandard could be clearerStandard could be clearergood first issueIdeal for someone new to a WHATWG standard or software projectIdeal for someone new to a WHATWG standard or software project
Description
Two years ago, the HTML Standard added a note about the issue of accidentally overriding built-in DOM properties with the name
attribute on inputs.
Commit: d661e87
Spec section: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attributes-common-to-form-controls
I have recently noticed that this issue exists with the id
attribute as well. The following example is the same example as in the spec, except that I replaced input.name
with input.id
:
let form = document.createElement("form");
let input = document.createElement("input");
form.appendChild(input);
console.log(form.method); // => "get"
input.id = "method"; // DOM clobbering occurs here
console.log(form.method === input); // => true
Demo: https://jsbin.com/zehajuh/edit?js,console
This issue happens in all three major browser engines (Chrome, Safari, Firefox).
Should the spec note be updated to say “Avoid using the names of built-in form properties with the name
and id
content attributes”?
Metadata
Metadata
Assignees
Labels
clarificationStandard could be clearerStandard could be clearergood first issueIdeal for someone new to a WHATWG standard or software projectIdeal for someone new to a WHATWG standard or software project