首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HTML输入中获取值并用于javascript函数

从HTML输入中获取值并用于javascript函数
EN

Stack Overflow用户
提问于 2021-09-20 21:02:36
回答 2查看 41关注 0票数 0

我不是一个专业的程序员,我有一个问题,可能有一个非常简单的修复。

到目前为止,这是我的代码。这是非常基本的。我试图从html输入中获取代码,并使用它来执行javascript。例如,如果一个人在输入中输入“氢”,我想让它把他们带到氢页面,但是如果他们输入“氦”,我想把他们带到氦页面。这是我写的代码,但是每次我试一次,不管我输入什么,它都会带我到氦页。有人能帮我解决这个问题吗。谢谢

代码语言:javascript
复制
<body>
  <input id="search" placeholder="Search for an element">
  <button>Search</button> 
</body>
<script type="text/javascript">
  document.querySelector("button").addEventListener("click", function() {        
    if (document.getElementById('search').value === 'Hydrogen'||'H'||'1') {
      window.location.href='./elements/hydrogen.html'
    }
    if (document.getElementById('search').value === 'Helium'||'He'||'2'){
      window.location.href='./elements/helium.html'
    }
 })
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-20 21:10:09

因为任何非空字符串都是特鲁西在JavaScript中。所以像这样的情况永远是true

代码语言:javascript
复制
document.getElementById('search').value === 'Hydrogen'||'H'||'1'

因为'H'是一个非空字符串,被解释为"true“。

编程语言不是依赖于人类直觉的自然人类语言,编程语言中的一切都必须使用明确的逻辑来明确定义。所以你的条件应该是:

代码语言:javascript
复制
document.getElementById('search').value === 'Hydrogen' ||
document.getElementById('search').value === 'H' ||
document.getElementById('search').value === '1'

也就是说,对每个条件进行充分和独立的测试,并对结果进行逻辑||操作符的测试。

当然,你可以用多种方式缩短这个时间。例如:

代码语言:javascript
复制
['Hydrogen', 'H', '1'].includes(document.getElementById('search').value)
票数 2
EN

Stack Overflow用户

发布于 2021-09-20 21:16:36

这边请

代码语言:javascript
复制
const
  button = document.querySelector('button') 
, search = document.getElementById('search')
  ;
button.onclick = e =>
  {
  if (['Hydrogen','H','1'].includes( search.value ))
      window.location.href='./elements/hydrogen.html'
      
  if (['Helium','He','2'].includes( search.value ))
      window.location.href='./elements/helium.html'
  } 
代码语言:javascript
复制
  <input id="search" placeholder="Search for an element">
  <button>Search</button> 

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69260778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档