0

我正在使用 bootstrap-datepicker 并且需要在用户点击提交按钮时发送所选日期和隐藏值。代码是这样的:

            <div class='input-append date datepicker' data-date=$today data-date-format='mm-dd-yyyy'>
            <form class='well' action='Update_Birthday.php' method='POST'>  
            <input type='hidden' name='ContactID' value=$ContactID>
            <input class='span5' size='16' type='text' name='date' readonly>
            <span class='add-on'><i class='icon-calendar'></i></span>
            <button type='submit' class='btn'>Submit</button>  
            </form> 
        </div>  

如果我在选择日期之前单击提交,则正确发送 ContactID(但日期当然为空)。当我选择一个日期时,“ContactID”和“日期”都是相同的,即用户选择的日期。

如何正确发送日期和隐藏值?

帮助表示赞赏。

4

1 回答 1

0

使用此代码(基本上是您已经拥有的,在值中添加了引号):

        <div class='input-append date datepicker' data-date='$today' data-date-format='mm-dd-yyyy'>
        <form class='well' id='birthdayForm' action='Update_Birthday.php' method='POST'>  
        <input type='hidden' name='ContactID' value='$ContactID'>
        <input class='span5 dateInput' size='16' type='text' name='date' readonly>
        <span class='add-on'><i class='icon-calendar'></i></span>
        <button type='submit' class='btn'>Submit</button>  
        </form> 
    </div>

ContactID当用户选择日期时, 没有理由被覆盖。

至于在选择日期之前阻止表单提交,这将需要一些 JavaScript。我建议只date用一个值预填充输入(可能是以前指定的生日,根据您的代码判断?) - 由于该字段是只读的,用户通常无法清空该值,只能更改日期。

如果您希望将其留空,这样的事情应该会有所帮助:

$('#birthdayForm').on('submit', function(e) {
    $('.dateInput').each(function() {
        if ($(this).val().length < 1) {
            e.preventDefault();
        }
    });
});
于 2012-10-19T20:06:27.457 回答