gpt4 book ai didi

javascript - 如何使表单(html、jsp)中的文本字段仅接受 dd/mm/yyyy 格式而不单击提交按钮

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

我在 jsp 表单页面中有一个字段,它接受“起始日期”和“截止日期”。现在我知道了可用于使用提交按钮验证这一点的脚本代码。但我的字段目前接受任何形式的 10 个字符......例如:28/07/2000 或 2807//2/00它接受数字和任意数量的/...

但我希望该字段接受 2 个编号,后跟/然后 2 个编号,后跟/和年份..还可以提供页面验证,例如日期是 31/01/2000...那么一旦用户键入 31,允许的第二组编号应该是 01,03,05,07...& 等等。 。它不应该允许 02,04.. 等。如果日期是 29/02/yyyy 那么 yyyy 应该只允许闰年...所有这些都应该得到满足,然后只有光标应该移动到其他字段并且不刷新页面...

这个可以通过ajax实现吗...由于我需要在输入 2 个号码后进行验证,如果有人有任何想法,如果您能指出我正确的方向,我将不胜感激......

顺便说一句,我目前使用此代码进行日期验证......

    function checkdate(frmdt,todt){
var validformat=/^\d{2}\-\d{2}\-\d{4}$/
var returnval=false
if(!validformat.test(frmdt.value)){
alert("Invalid frmdt");
document.form.frmdt.value="";
}
else if(!validformat.test(todt.value)){
alert("Invalid Date 2");
document.form.todt.value="";
}
else{
var start = document.form.frmdt.value;
var end = document.form.todt.value;

var stDate = new Date(start);
var enDate = new Date(end);
var compDate = enDate - stDate;

if(compDate >= 0)
return true;
else
{
alert("End date should be greater than start date.");
return false;
}
}
}

最佳答案

您应该看看 onkeyup事件,如果您将验证函数绑定(bind)到此事件,它将在每次释放按键时运行。您可以使用 onkeydown事件将当前输入值存储在变量中,然后 onkeyup运行验证的事件。然后,如果验证无效,只需编辑验证函数,将输入重置为按下按键时存储在变量中的值。这样,一旦松开按键,任何无效输入都会被撤消。

您目前似乎没有使用 jQuery(即使您已将标签添加到问题中)。如果你想使用它,你可以使用它的 .keyup().keydown()方法代替。

除非您想使用服务器端代码进行验证并异步发送结果,否则您不需要任何 AJAX,但这对于这个相当简单的需求来说似乎有点过分了。

关于javascript - 如何使表单(html、jsp)中的文本字段仅接受 dd/mm/yyyy 格式而不单击提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16459705/

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