【问题标题】:Uncaught typeerror cannot read property of null (reading 'value') in javascript未捕获的类型错误无法在 javascript 中读取 null 的属性(读取“值”)
【发布时间】:2022-01-11 12:13:38
【问题描述】:

我收到错误“Uncaught typeerror cannot read property of null (reading 'value')”我一直在寻找解决方案,但我不知道代码有什么问题,你能帮帮我吗?

我的代码

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">
< labe for="power-full.names"> Names full</lable>
< 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">
</datalist>
</div>


< div class="form grup test2">
< labe for="power-full.adress"> Adress full</lable>
< 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">
</datalist>
</div>

【问题讨论】:

  • 你可能没有 40 个名字,因为你在 for 循环中说得到 40 次
  • 我有40个名字,这是示例代码。

标签: javascript html onclick onchange


【解决方案1】:

您忘记添加类,所以 document.getElementsByClassName('test1')[i] 返回 None。并且 javascript 无法读取 None 的 value 属性。 修复 -

<option class="test1" value="test4">

【讨论】:

  • Onclick 唯一有效的问题是控制台在单击 HTMLInpuntElement.onclick (index.html. 1)
【解决方案2】:

首先:也许你应该使用onchange 事件来绑定input.test1

秒:改变input.test2的值

function test1(ele){
  var address1 = document.getElementById('test2');

  if( ele.value == "test4"){
    address1.value = "test5";
  } else if (ele.value == "test6"){
    address1.value = "test7";
  } else if (ele.value == "test8"){
    address1.value = "test9";
  }
}
<div class="form grup test1">
  <lable for="power-full.names"> Names full</lable>
  <input name="power-full.names" list="power-full.names" type="text"
    class="form grup test1" onchange="test1(this)">
  <datalist type"text" id="power-full.names">
    <option value="test4">
    <option value="test6">
    <option value="test8">
  </datalist>
</div>


<div class="form grup test2">
  <lable for="power-full.adress"> Adress full</lable>
  <input id="test2" name="power-full.adress" list="power-full.adress" type="text"
  class="form grup test2">
  <datalist type"text" id="power-full.adress">
    <option value="test5">
    <option value="test7">
    <option value="test9">
  </datalist>
</div>

【讨论】:

  • 非常感谢您的回答。问题是我必须使用“getElementsByClassName”,因为我的父 ID 正在更改。当我使用 getElementsByClassName 时,该函数仅显示错误“Uncaught Uncaught typeerror cannot read property of undefined (reading 'value')”
猜你喜欢
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-30
  • 2022-06-13
  • 2022-07-02
  • 2022-06-14
相关资源
最近更新 更多