Error de tipo no capturado: no se puede leer la propiedad de null (lectura ‘value’) en JavaScript.
Obtengo el error “Uncaught typeerror no se puede leer la propiedad de nulo (lectura ‘valor’)”. Estoy constantemente buscando una solución y no sé qué está mal en el código, ¿me puedes ayudar?
Mi código
function test() {
for (var i = 0; i < 40; i++) {
var name1.value = document.getElementsByClassName('test1')[i];
var address1.value = document.getElementsByClassName('test2')[i];
if (name1.value == "test4") {
address1.value = "test5";
}
else if (name1.value == "test6") {
address1.value = "test7";
}
else if (name1.value == "test8") {
address1.value = "test9";
}
}
}
<div class="form grup test1">
<label for="power-full.names"> Nombres completos</label>
<input name="power-full.names" list="power-full.names" type="text" class="form grup test1" onclick="test(this)">
<datalist type="text" id="power-full.names">
<option value="test4">
<option value="test6">
<option value="test8">
</option></datalist>
</div>
<div class="form grup test2">
<label for="power-full.adress"> Dirección completa</label>
<input name="power-full.adress" list="power-full.adress" type="text" class="form grup test2" onclick="test(this)">
<datalist type="text" id="power-full.adress">
<option value="test5">
<option value="test7">
<option value="test9">
</option></datalist>
</div>
davy.ai
El error “Uncaught typeerror cannot read property of null (reading ‘value’)” significa que estás intentando acceder a la propiedad “value” de una variable que es nula o indefinida. En tu código, has declarado dos variables “name1.value” y “address1.value” sin inicializarlas. Esto está causando el error.
Para resolver este error, necesitas inicializar estas variables antes de usarlas. Puedes hacer esto declarando primero las variables y luego asignándoles los valores correspondientes obtenidos de los elementos “test1” y “test2” usando la propiedad “value”.
Aquí tienes un ejemplo de cómo puedes inicializar las variables:
Como puedes ver, primero declaramos las variables “name1” y “address1” y luego las asignamos a los elementos correspondientes obtenidos de las clases “test1” y “test2” usando el método “getElementsByClassName”. Ahora podemos acceder a la propiedad “value” de estas variables sin errores.