c# - Javascript 在 asp.net 中验证开始日期和结束日期

标签 c# javascript asp.net visual-studio

我编写了一个 JS,它应该检查开始日期是否小于结束日期。如果没有,应该抛出警报

JS 的写法为;

function DateValidation(startDate, EndDate) {
                debugger;
                var stdate = startDate;
                var enddate = EndDate;
                if (stdate!= '' && enddate!='') {
                if (stdate > enddate) {
                    alert('Start date cannot be greater than end date');
                    return false;
                }
                else {
                    return true;
                }
               }
            }

当我点击“显示报告”按钮时,这个 JS 会被触发。

我面临的问题

  1. JS 未正确验证日期。我缺少什么?我正在从文本框传递日期

  2. 第一次点击按钮时,JS 没有启动。第二次单击按钮时触发

另外,我已经注册了 JS,如下所示;

btnShowReport.Attributes.Add("onclick", "return DateValidation('" + txtStartDate.Text + "', '" + txtEndDate.Text + "');");

上面的代码正确吗?注册JS的正确位置在哪里?

请指导..谢谢!

最佳答案

您需要将字符串值解析为日期

if (startDate!= '' && EndDate!='') {  
    var stdate = Date.parse(startDate);   
    var enddate = Date.parse(EndDate);  
    if (stdate > enddate) {   
        alert('Start date cannot be greater than end date');   
        return false;   
    }   
    else
    {   
        return true;   
    }   
} 

如果没有进一步的代码,很难说出为什么您的按钮仅在第二次单击时触发事件。您的按钮一开始就被禁用了吗?

关于c# - Javascript 在 asp.net 中验证开始日期和结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416922/

相关文章:

javascript - 如何防止 AJAX 端点上的 DDoS?

c# - 如何使用Fileupload读取文件内容

c# - 在您的 app.config 中使用加密的 appSettings 元素有多安全?

c# - 为下拉列表设置标题

c# - HttpClient GetAsync 与 URL 中的散列

javascript - deviceready 5 秒后未触发​​ Cordova

c# - 获取选中的数据

c# - 关于c#中对象的基本问题

c# - 更正 EventHandler 以在记事本关闭时告诉我

javascript - 在导入的文件中无法通过 id 找到模板