首页 > 解决方案 > 在表单输入中显示来自对象的正确数据

问题描述

我正在学习,所以我称自己为 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 个可以单独输入表格的对象。然后它应该显示该气缸的正确数据。现在只是寻找原始数据,然后是样式和格式。

标签: javascripthtmldom

解决方案


将 '=' 更改为 '=='

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);
   }

或者

如果你想检查类型也比改变 '==' 与 '==='


推荐阅读