在表单输入中显示来自对象的正确数据

时间:2019-01-18 05:09:39

标签: javascript html dom

我正在学习中,因此我将自己称为JavaScript的新手。将其输入html表单后,终于可以得到要显示的对象之一。但是,当输入其他变量时,将显示相同的对象。这些是门锁的锁芯名称以及与之相关的数据。

我添加了一个if语句尝试在对象之间切换,但是即使我输入“ LD”,它也只会显示来自“ RD”的数据。因此,显然我在使用getElementById或使用错误的ID时做错了什么? 我很高兴在阅读的其他一些线程的帮助下走到了这一步,但是现在我有点停滞了。

这是我的代码,其中显示了两个对象:

var display = document.getElementById("displayCyl");

function getCyl(){
  if(document.getElementById("cylEnter").value = "RD"){
    display.innerHTML=display.innerHTML + Object.values(RD);
   }
  else if(document.getElementById("cylEnter").value = "LD"){
    display.innerHTML=display.innerHTML + Object.values(LD);
   }
  }

  var LD = {
  brand: 'Schlage, Falcon',
  cylinder: ' Without cylinder',
  pins: ' 6 Pin',
  type: ' KIL'
 }

  var RD = {
  brand: 'Schlage-Everest 29 S123 (Standard)',
  cylinder: ' With cylinder',
  pins: ' 6 Pin',
  type: ' FSIC'
 }
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title></title>
</head>
<body>
  <h2>Cylinder Selector</h2>
    <h3>For AD and CO Locks</h3>
  <form name="cylForm">
    <input type="text" id="cylEnter" placeholder="Enter">
    <input type="button" onclick="getCyl()" value="Submit Cylinder">
  </form>
<p id="displayCyl"></p>

我最终要做的是大约有10个对象,可以分别输入到表单中。然后,它将显示该气缸的正确数据。只是现在查找原始数据,然后再进行样式设置和格式化。

2 个答案:

答案 0 :(得分:6)

将'='更改为'=='

if(document.getElementById("cylEnter").value == "RD"){
    display.innerHTML=display.innerHTML + Object.values(RD);
   }
  else if(document.getElementById("cylEnter").value == "LD"){
    display.innerHTML=display.innerHTML + Object.values(LD);
   }

OR

如果您还想检查类型,而不是将'=='更改为'==='

答案 1 :(得分:4)

在JavaScript中,=中的document.getElementById("cylEnter").value = "RD"表示set value to 'RD'。如果需要比较,请使用=====