gpt4 book ai didi

javascript - HTML 表单未在 JavaScript 中提交

转载 作者:行者123 更新时间:2023-11-28 06:26:09 25 4
gpt4 key购买 nike

尝试创建一个简单的年龄计算器。目前,当前年份将被填充,但当您输入出生年份并点击提交时,什么也不会发生。

function aaa(){
date=new Date();
var y=date.getFullYear();
document.getElementById('ddd').value=y;
}

function display(){
var c=document.getElementById('eee').getFullYear.value;
//var aa= document.getElementById('eee').(this).('getDate').value;
var e= y - c;
{
document.write("Ans="+e);
}
alret(e);
}
<body onload="aaa();">
<form name="xyz" method="post">
CurrentDate:<input type="text" name="ddd" id="ddd">
BirthDate:<input type="date" name="eee" id="eee">
Age:<input type="text" name="age" id="age">
<input type="submit" name="submit" value="submit" onClick="display();">
</form>
</body>

最佳答案

可能更适合代码审查,但这里是:

<script language="javascript">

脚本元素的语言属性在 HTML 4 中已弃用,并在 HTML5 中删除。删除它。

function aaa()

函数应该有一个有意义的名称,例如设置年份

{
date=new Date();

您应该使用 var 将变量保留为本地变量。

    var y=date.getFullYear();

document.getElementById('ddd').value=y;

你可以这样做:

  document.getElementById('ddd').value = new Date().getFullYear();

}
function display()
{
var c=document.getElementById('eee').getFullYear.value;

并非所有浏览器都支持输入类型日期,而且这无论如何也行不通。如果您只是使用年份差异(大约一半的情况下会出现 1 年的错误),那么为什么不直接询问年份呢?

    var e= y - c;
{
document.write("Ans="+e);
}

该 block 是多余的,在加载事件之后调用document.write将首先清除整个文档(所有内容,包括所有脚本)并加载一个新文档,其中仅包含传递给的内容>document.write.

[...]

因此重写可能如下所示:

function calcAge(element) {
var form = element.form;
form.age.value = form.currentYear.value - form.birthYear.value;
}

window.onload = function() {
document.forms[0].currentYear.value = new Date().getFullYear();
}
<form>
Current year: <input name="currentYear"><br>
Birth year: <input name="birthYear"><br>
<input type="button" onclick="calcAge(this)" value="Caluclate age"><br>
Your age: <input name="age" readonly><br>
</form>

请注意,表单中的每个控件都有一个 form 属性,该属性引用其所在的表单。此外,具有名称的表单控件可用作表单的命名属性(因此名为 的控件>submit 覆盖提交方法)。

关于javascript - HTML 表单未在 JavaScript 中提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120398/

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