Javascript 如何确定是否在表单post上调用了日期选择器

Javascript 如何确定是否在表单post上调用了日期选择器,javascript,pickadate,Javascript,Pickadate,我使用pickadate.js作为日期选择器,并进行以下初始化: $start_cal_input = $("#start-date-picker").pickadate({ min: true, max: 30, editable: true, clear: false, formatSubmit: 'yyyy/mm/dd', hiddenName: true, onSet: fun

我使用
pickadate.js
作为日期选择器,并进行以下初始化:

$start_cal_input = $("#start-date-picker").pickadate({
        min: true,
        max: 30,
        editable: true,
        clear: false,
        formatSubmit: 'yyyy/mm/dd',
        hiddenName: true,
        onSet: function(e) {

        },
        onClose: function() {
            return setTimeout(function() {
                return $("#start-date-picker").blur();
            }, 200);
        },
    onStart: function() {
    }
});
和HTML:

<input id="start-date-picker" name="start-date-picker" class="form-control" type="text" value="Start date">

HTML以表单的形式发布回服务器,表单用于过滤搜索条件。如果用户实际上没有使用日期选择器调用并选择日期,则会向表单发送
'yyyy/mm/dd'
格式的“今天”值,而不是
的默认值“开始日期”
。如果没有实际调用,我不想按日期筛选搜索结果,但我无法区分选择今天日期的用户和保留日期为空并自动返回今天日期的用户


如何在form post上确定是否调用了日期选择器?

当用户未选择任何日期时,为什么需要发送“yyyy/mm/dd”格式的日期

您只需使用一个简单的
if-else
语句即可知道是否选择了日期。下面是一个示例

if(date is empty or is a default value) {
    do some thing
}else {
    do some other thing
}
这样可以知道用户是否选择了日期。最重要的是,除非您在表单中设置了标志或值,否则服务器将无法检查是否执行了javascript。我想说的是,有很多方法可以做到这一点,你只需要知道:)

编辑

将此额外输入类型设为隐藏


现在,您可以使用
isdateselected
参数检查是否选择了日期。如果选择了它的
true
或者它的
false

当用户没有选择任何日期时,我不需要以'yyyy/mm/dd'值发送它,但这就是返回的日期。我希望有一些完全不同的东西,可以很容易地检测到服务器/端,但是pickadate.js正在自动地传递它。。你可以找到一个关于如何设置默认值的答案。我已经看过了,但是如果你不允许用户选择过去的日期,你就不能设置过去的默认值(它会自动设置为今天的日期),不幸的是,这让我们回到了第一步。谢谢你的挖掘,谢谢。我想知道是否有办法解决这个问题,但这可能是目前最简单的解决办法。感谢:)
onSet: function(context) {
    document.getElementById("myDateFlag").value="true";
}