¿Cómo configuro el valor de un elemento usando Object.assign() ? Todos los demás atributos parecen aparecer excepto "value" para <input> y "for" para <label> . Aquí está el código:
window.onload = function createForm () { // Form header >>>> const formHeaderText = document.createTextNode("Form"); headerEl.appendChild(formHeaderText); container.appendChild(headerEl); // Form element >>> Object.assign(formEl, { name: "inputForm", id: "myForm" }); container.appendChild(formEl); // Name Label >>> const nameLabelText = document.createTextNode("Name"); labelElName.appendChild(nameLabelText); Object.assign(labelElName, { for: "iname", }); formEl.appendChild(labelElName); // Name Input element >>> formEl.appendChild(inputElName); Object.assign(inputElName, { className: "inputs", id: "iname", name: "name", type: "text", placeholder: "Name", value: "" })Y lo que obtengo es:
<input class="inputs" id="iname" name="name" type="text" placeholder="Name">para la entrada y:
<label>Name</label>para el elemento de etiqueta.
Dado for es una palabra clave reservada en JavaScript, debe usar la propiedad htmlFor en el elemento de label , así:
Object.assign(labelElName, {htmlFor: "iname"});o
labelElName.htmlFor = "iname";