你好!
如何检查这些输入?
现在它只适用于第一个,需要做什么才能随时检查两者?
<script>
function formatDate(){
str = document.getElementById('Date').value;
var err=[]
function TstDate(){
str2=str.split(".");
if(str2.length!=3){return false;}
str2=str2[2] +'-'+ str2[1]+'-'+ str2[0];
if(new Date(str2)=='Invalid Date'){return false;}
return str;
}
var S=TstDate()
if(S){err.splice(0,1);
document.getElementById("output").innerHTML = " ";
} else {
document.getElementById("output").innerHTML = "Введите правильно дату";
};
}
</script>
<div class="input-inner">
<form>
<input type="text" id="Date" placeholder="00.00.0000" class="firstDate" name="firstDate" onchange="formatDate(this.value);">
<input type="text" id="Date" placeholder="00.00.0000" class="secondDate" name="secondDate" onchange="formatDate(this.value);">
</form>
<span id="output"></span>
</div>
不要大写函数名称,这就是声明类的方式。声明变量时不要忘记写“var”。最重要的是,不要对元素使用相同的 id。它们是那个的标识符,它们必须是唯一的,js 会简单地找到遇到的第一个元素并处理它。以及多个元素的集合,您必须循环运行才能处理每个元素。
错误在于输入的当前值被传递给函数,但没有被使用。相反,会尝试获取 id=Date 的输入值。
由于 javascript 假定 id 在页面上是唯一的,因此总是获得第一个输入。
相反,有必要使用传递的值,如下所示: