Javascript Can';t从输入字段抓取日期,并在IE8中转换为日期对象

Javascript Can';t从输入字段抓取日期,并在IE8中转换为日期对象,javascript,jquery,html,date,internet-explorer-8,Javascript,Jquery,Html,Date,Internet Explorer 8,再次出现相关问题。 这个想法是: 在每个td中,复选框在“数据名称”属性中指定了日期。 当提交表单时,我试图检查他们检查的日期是否连续,如果是连续的,则在下一页用开始和结束日期更新隐藏字段,以便进行更多计算,例如价格、特价等。这在Chrome和firefox等真实浏览器中很好地工作。但是IE(我怀疑还有safari)有问题。在做一些提醒时,我发现日期是NaN。以下是一个片段: HTML: <td><input data-name="30/10/2013" type="check

再次出现相关问题。 这个想法是: 在每个td中,复选框在“数据名称”属性中指定了日期。 当提交表单时,我试图检查他们检查的日期是否连续,如果是连续的,则在下一页用开始和结束日期更新隐藏字段,以便进行更多计算,例如价格、特价等。这在Chrome和firefox等真实浏览器中很好地工作。但是IE(我怀疑还有safari)有问题。在做一些提醒时,我发现日期是NaN。以下是一个片段:

HTML:

<td><input data-name="30/10/2013" type="checkbox"></td>
<td><input data-name="31/10/2013" type="checkbox"></td>
<td><input data-name="1/11/2013" type="checkbox"></td>

<form id="booking0" onsubmit="return bookingValidation(0)" class="bookings" method="post" action="/anotherpage.asp">
<input type="hidden" name="bookStart" value="">
<input type="hidden" name="bookEnd" value="">
<input class="book" type="submit" name="Submit" value="Next">
</form>

请帮忙!我开始把头发扯下来了

看起来IE无法使用使用的日期格式,您可以使用自定义格式解析日期

checkTheDate = $.datepicker.parseDate( 'd/mm/yy', date.data('name'));

我不明白为什么表格中没有复选框

无论如何,要将“1/11/2013”转换为日期(假设为d/m/y),请使用以下函数:

function toDate(s) {
  var bits = s.split(/\D/);
  return new Date(bits[2], --bits[1], bits[0]);
}

注:日期字符串的解析在很大程度上依赖于实现,通常需要“m/d/y”顺序。手动解析是目前为止最好的方法。

date.data('name')
更好。@TusharGupta是的。。。我没有看那个。。。changedI尝试使用date.date('name'),但我仍然通过IE在我的提醒中得到NaN。在chrome、firefox和opera@AkiraDawson这是
date.data('name')
@ArunPJohny是的,我在这里拼写错了,哈哈!
checkTheDate = $.datepicker.parseDate( 'd/mm/yy', date.data('name'));
function toDate(s) {
  var bits = s.split(/\D/);
  return new Date(bits[2], --bits[1], bits[0]);
}