Tengo un formulario con una entrada.
<input type="text" class="class1 class2 class3 email" id="$email" name="$email" required="" value="email@email.com">No puedo obtener el valor de la entrada. ¿Me estoy perdiendo de algo?
val = document.getElementById('$email').value; val = document.getElementsByClassName("email").value; val = document.getElementsByName("$email").value;TypeError: document.getElementById(...) no está definido
getElementsByClassName y getElementsByName devuelven el objeto HTMLCollection. Necesitas acceder con index.
const val = []; val[0] = document.getElementById('$email').value; val[1] = document.getElementsByClassName("email")[0].value; val[2] = document.getElementsByName("$email")[0].value; console.log(val); <input type="text" class="class1 class2 class3 email" id="$email" name="$email" required="" value="email@email.com">El siguiente código recuperará el contenido de value de cualquier elemento por su Id . Vea el último ejemplo de ByClassName .
<input type="text" class="class1 class2 class3 email" id="email" name="$email" required="" valu="email@email.com">
var element = document.getElementById("email"); if(element !== null) { console.log("Not null."); var content = element.value; console.log(content); } else { console.log("Null."); }Por nombre de clase:
var element = document.getElementsByClassName("email"); if(element !== null) { console.log("Not null."); var content = element[0].value; console.log(content); } else { console.log("Null."); }