我想在我的网站页面中设置过滤日期。我正在使用datepicker jquery。我想要做的是,用户需要在“从”和“到”文本框中选择日期。但是,如果用户不想使用它,他们可以将其留空。
所以我根据需要进行输入,
@Html.TextBoxFor(modelitem => Model.startdate, new { @class = "datepicker form-control" ,@placeholder = "Select From Date" , @id="from" , @required = "required" })
@Html.TextBoxFor(modelitem => Model.finishdate, new { @class = "datepicker form-control", @placeholder = "Select To Date" , @id = "to" , @required = "required" })
在javascript中,如果文本框的长度== 0,我将其删除,如下面的代码所示
$(document).ready(function () {
if ($('#to').val().length == 0 && $('#from').val().length == 0) {
$('#from').removeAttr('required');
$('#to').removeAttr('required');
}
})
有了这个,我可以在不填写过滤日期的情况下提交请求。但是,在“from”文本框中选择日期后,将“to”文本框保留为空,它仍然可以首先提交。然后我再次尝试执行,在“to”文本框中说“这个字段是必需的”。
所以基本上,我不明白为什么在第一次加载时,它仍然可以提交,尽管我将“to”文本框留空。谁知道发生了什么?所以它似乎在第一次加载时,文本框“from”仍然将其检测为空,并且javascript仍然有效。