gpt4 book ai didi

Javascript简单代码错误

转载 作者:行者123 更新时间:2023-11-28 15:30:54 24 4
gpt4 key购买 nike

似乎找不到问题所在。每次我运行它时,我都会得到 ageDale 的 NaN,现在已经研究了一段时间了,它可能很简单,但我很感谢您的帮助!

<p>Enter names in the fields, then click "Submit" to submit the form:</p>
<form name="form">
<input type="text" id="birthDate">

Current Date
<input type="text" id="currentDate">

<a id="Submit_Button" onclick="test();" href="javascript:void(0);" title="Submit">Submit</a>
</form>
<script>
function test() {
var birthDate = document.getElementById("birthDate");
var currentDate = document.getElementById("currentDate");
var ageDate = (birthDate.value - currentDate.value);

if(ageDate.value < 1) {
(ageDale = ageDate.value * -1)
}
else {
(ageDale = ageDate.value * 1)
}

alert(ageDale)
}
</script>

另外,我有必要有那个 else 语句吗?还是有其他方法可以设置它,这样就不需要它了?

最佳答案

这个

ageDate.value

应该是

ageDate
仅。它是一个变量,并且已经仅包含与

的区别
birthDate.value - currentDate.value
<小时/>
if(ageDate.value < 1) {
// ^ here
(ageDale = ageDate.value * -1)
} //^ here
else {
(ageDale = ageDate.value * 1)
// ^ and here
<小时/>

您只需要在从输入字段等获取数据时获取值。

此外(取决于您输入的方式)计算日期可能会出现问题。出于调试目的,您应该

console.log()

你的变量值,这样你就能快速找出错误所在。

代码中 console.log() 的一个好位置是,例如在此 block 之后:

    var birthDate   = document.getElementById("birthDate");
var currentDate = document.getElementById("currentDate");
var ageDate = (birthDate.value - currentDate.value);

console.log(ageDate);
<小时/>

旁注:

您可能想看看 moment.js,它将帮助您进行日期计算。例如,您可以使用 moment.js 获取日期之间的差异,如下所示:

var a = moment([2014, 12, 05]);
var b = moment([2014, 12, 06]);
a.diff(b, 'days') // 1

关于Javascript简单代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27413763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com