JavaScript-parseInt和Number不起作用

JavaScript-parseInt和Number不起作用,javascript,Javascript,我试图将字符串(html5输入数据)简单转换为整数,但我的控制台日志总是返回Undefined,与Numbers()或ParseInt的结果相同。如果我输入一个“字母”(do just for test,我的表单是input=“number”) var dia=Number(document.getElementById('dia').value) var mes=编号(document.getElementById('mes').value) var ano=Number(document.

我试图将字符串(html5输入数据)简单转换为整数,但我的控制台日志总是返回
Undefined
,与
Numbers()
ParseInt
的结果相同。如果我输入一个“字母”(do just for test,我的表单是
input=“number”

var dia=Number(document.getElementById('dia').value)
var mes=编号(document.getElementById('mes').value)
var ano=Number(document.getElementById('ano').value)
表.addEventListener('submit',函数(e){
控制台日志(直径值)
console.log(mes.value)
console.log(ano.value)
e、 预防默认值()
})

纳西门托酒店
纳西门托博物馆
纳西门托酒店

< /代码> 您应该考虑在回调方法本身中转换数字。< /P>
form.addEventListener('submit',  function(e) {
  var dia = Number(document.getElementById('dia').value)
  var mes = Number(document.getElementById('mes').value)
  var ano = Number(document.getElementById('ano').value)
  console.log(dia)
  console.log(mes)
  console.log(ano)

  e.preventDefault()

})
以下是一个工作示例:


window.onload=函数(){
表单=document.getElementById(“表单”)
表.addEventListener('submit',函数(e){
var dia=编号(document.getElementById('dia')。值);
var mes=编号(document.getElementById('mes')。值);
var ano=编号(document.getElementById('ano').value);
控制台日志(直径);
控制台日志(mes);
控制台日志(ano);
e、 预防默认值();
});
};
纳西门托酒店
纳西门托博物馆
纳西门托酒店

您必须检索addEventListener函数中的值。无需在控制台上使用
.value
,因为
dia
mes
ano
已经是值

form.addEventListener('submit',函数(e){
var dia=编号(document.getElementById('dia')。值);
var mes=编号(document.getElementById('mes')。值);
var ano=编号(document.getElementById('ano').value);
控制台日志(直径)
控制台日志(mes)
控制台日志(ano)
e、 预防默认值();
})

纳西门托酒店
纳西门托博物馆
纳西门托酒店

只需像这样更改函数即可

    form.addEventListener('submit',  function(e) {

        console.log(dia)
        console.log(mes)
        console.log(ano)
        e.preventDefault()

   })

关于如何调用console.log(dia.value)的问题,没有为“dia”定义函数或属性,您只需打印“dia”即可!但我不明白为什么我必须在addEventListener中检索值。作为公共变量,它们不能在其他函数中访问?谢谢。是的,您可以访问该变量,因为它是全局变量,但问题是当您从这些输入中检索值时(在文档加载时)。目前还没有价值观。这就是为什么它会给你未定义。如果你把它放在
addEventListener
函数上,当你点击它(这意味着在用户输入值之后)并显示它时,它会得到输入的当前值。嗯,我得到了。我只是在想应该更新这个变量。再次感谢你!很乐意帮忙@LucasMaraal@t.niese这里我们讨论的是解决方案而不是最佳实践。。。