Javascript 如何编辑此函数以仅在输入字段完成时运行?

Javascript 如何编辑此函数以仅在输入字段完成时运行?,javascript,html,css,function,Javascript,Html,Css,Function,我有一个从两个日期输入字段捕获数据的函数 我在img上有一个click监听器,它启动函数。我想编辑我的代码,使其仅在两个日期字段都完全填写(mm-dd-yyyy)时触发函数 如果其中一个或两个都没有填写,我想返回一个字符串“请填写日期字段,然后再次单击” 我还有两个文本输入字段(用于名称),没有任何功能。类似地,我希望名称输入字段要求每个字段至少包含一个字母,否则它将返回类似的字符串,如“请为每个字段输入名称并再次单击!” var-sumButton=document.querySelector

我有一个从两个日期输入字段捕获数据的函数

我在img上有一个click监听器,它启动函数。我想编辑我的代码,使其仅在两个日期字段都完全填写(mm-dd-yyyy)时触发函数

如果其中一个或两个都没有填写,我想返回一个字符串“请填写日期字段,然后再次单击”

我还有两个文本输入字段(用于名称),没有任何功能。类似地,我希望名称输入字段要求每个字段至少包含一个字母,否则它将返回类似的字符串,如“请为每个字段输入名称并再次单击!”

var-sumButton=document.querySelector(“.sumNumbers”);
sumButton.addEventListener(“单击”,获取总和);
函数getSum(){
//将输入和输出元素的id放入各自的数组中
让输入=['dateInput1','dateInput2'];
让输出=['result1','result2'];
//循环输入数组中的项
//这将导致循环次数与输入元素的次数相同
输入。forEach(函数(输入,索引){
//不必硬编码元素id,而是获取元素引用
//来自.forEach回调函数参数。
const inputValue=document.getElementById(输入).value;
var总和=0;
对于(变量i=0;i

你的名字
他们的名字

您应该调用一个函数来验证您的输入,如果它通过了,那么您可以调用您的函数来执行您希望执行的操作。您必须在表单中包含提交。通过阅读您的问题,您提到使用图像作为提交。您可以使用此
代替我的演示中的按钮

这里有一个演示:

函数validateForm(){
var x=document.forms[“myForm”][“date”]。值;
如果(x==“”){
警报(“必须填写日期”);
返回false;
}否则{
yourfunction();
}
}

日期:

您应该调用一个函数来验证您的输入,如果它通过了,那么您可以调用您的函数来执行您希望执行的操作。您必须在表单中包含提交。通过阅读您的问题,您提到使用图像作为提交。您可以使用此
代替我的演示中的按钮

这里有一个演示:

函数validateForm(){
var x=document.forms[“myForm”][“date”]。值;
如果(x==“”){
警报(“必须填写日期”);
返回false;
}否则{
yourfunction();
}
}

日期:

该函数没有执行任何与查看日期字符串相关的操作。我不确定是否理解,我试图要求输入字段在函数运行之前完全完成。如果没有完成,我希望它返回一个字符串(文本?)来提醒用户字段需要完成。您所说的是验证,并且已经解决了很多次了。我建议对这个主题做一些研究——你会发现很多库都可以运行,这会有所帮助,包括一些内置在浏览器中的库。好的,谢谢,我在研究它时遇到了麻烦,我不知道如何在谷歌搜索中表达这个问题首先你必须验证输入字段,然后运行你的函数我看不到这里有任何验证该函数不做任何与查看日期字符串相关的事情。我不确定我是否理解,我试图要求输入字段在函数运行之前完全完成。如果没有完成,我希望它返回一个字符串(文本?)来提醒用户字段需要完成。您所说的是验证,并且已经解决了很多次了。我建议对这个主题做一些研究——你会发现很多库都可以运行,这会有所帮助,包括一些内置在浏览器中的库。好的,谢谢,我在研究它时遇到了困难,我不知道如何将问题表达到谷歌搜索中。首先,你必须验证输入字段,然后运行你的函数。我在这里看不到验证