应该为true的条件为false(JS)

时间:2018-03-28 22:12:53

标签: javascript html conditional

我有一些JS和HTML代码。当用户点击提交按钮时,我想知道哪个数字输入框(input type="number"/>)有文本。我的条件声明是:document.getElementById("fallen").value != 0 || document.getElementById("fallen").value != ""。由于某种原因,这不起作用。我尝试使用document.getElementById("fallen").value == null

感谢任何帮助,提前谢谢!

4 个答案:

答案 0 :(得分:3)

任何输入的值总是一个字符串。该声明按预期工作,但您可以根据您的要求进行一次调整以使其正常工作:

parseInt(document.getElementById('fallen').value, 10) !== 0 要么 document.getElementById('fallen').value !== '0'

答案 1 :(得分:2)

类似的东西?

const inputs = document.querySelectorAll('input[type=number]')
document.querySelector('input[type=submit]').addEventListener('click', () =>{
    inputs.forEach( o => {
        if( o.value ) console.log(o.getAttribute('name'))
    })
})

https://codepen.io/Capse/pen/ZxrWwe

答案 2 :(得分:1)

看到那段代码,我认为这就是你需要的



function compare(){
  var input =$('input[type="number"]')
  if(!input.val() || input.val()==0){
    console.log ('empty');
  }
  else{
    console.log('the content is '+input.val());
  }
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='number' >
<button onclick=compare()>check</button>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

使用正则表达式检查字段,如:

如果(/^[0-9]{1,}$/.test(myvalue))console.log(&#39;是一个数字&#39;) else console.log(&#39;不是数字&#39;)

注意:当myvalue等于null时,正则表达式测试函数也可以工作。