2013-08-05 35 views
0

所以我有以下小提琴:http://jsfiddle.net/bmgh1985/XcScd/表单输入类型=日期和重复显示.change

我需要这个做的是,当我输入的日期,它通过该位的jQuery:

$('#headline').keyup(function() { 
    $('#headlinedisp').text($('#headline').val()); 
}); 
$('#timestamp').change(function() { 
    $('#timestampdisp').text($('#timestamp').val()); 
}); 
$('#news').keyup(function() { 
    $('#newsdisp').text($('#news').val()); 
}); 

然后在下面显示预览。 在我开始使用“日期”类型之前,这一切都很好。现在,当我输入类似于2013年3月23日的内容时,它将以2013-03-23的形式显示。对我来说这非常适合当我将它粘贴到我的sql表中,但想要通过稍微修改该jquery来实时显示它在显示器中的框中显示的情况。

此外,我会有一些反向的人坚持使用IE6,7,8,所以他们会看到一个标准的文本框,他们将输入23/03/2013,它会显示为输出正确。我不希望它搞乱,最多是(所以基本上,如果它的文本,然后离开它。如果它在日期类型,改变对.change输出是正确的格式)提前

感谢

回答

0

无论输入类型和格式如何,我都能想到的为您的日期实现一致输出格式的最佳方式是从输入创建一个javascript Date对象,然后使用如下方法回答Where can I find documentation on formatting a date in JavaScript?实现所需的目标格式。

当然,这只会在完成日期。如果您想在输入日期时重新​​格式化日期,则可能需要手动分析输入并将其重新组织为所需的格式。

+0

感谢您的支持。似乎可能是要走的路。使用HTML5中的日期框,它无论如何都不会在更新keyup方面表现良好,而且我并不担心支持IE 6/7/8,因此它们也必须是即时的)。将在接下来的一小时左右进行测试,然后希望它能继续工作。 – bmgh1985

+0

好吧,我已经调整了它,试图让这个工作和_thought_我有它的嫌疑,但似乎不希望实际上将日期识别为一个数字,我运行这个版本的小提琴时得到NaN/NaN/N:http ://jsfiddle.net/bmgh1985/XcScd/3/ – bmgh1985

+0

这行'var d = new Date('#timestamp');'应该是'var d = new Date($(this).val());'' 。 – asymptoticFault

相关问题