我正在使用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”和“date”都是相同的,即用户选择的日期。
如何正确发送日期和隐藏值?
帮助表示赞赏。
答案 0 :(得分: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();
}
});
});