Tôi đang cố gắng làm một trang đơn giản lấy ngày (kiểu nhập văn bản) và sau khi ngày được nhập, một trường khác sẽ thêm 7 ngày vào đầu vào và hiển thị ngày (+7 ngày) trong một đầu vào văn bản. Kiến thức về jQuery của tôi bị giới hạn nên tôi có thể có một lỗi nhỏ ...jQuery thêm 7 ngày cho đến ngày (văn bản kiểu đầu vào và đầu ra)
<html>
<head>
<title>Date Plus 7 Days</title>
<script type="text/javascript">
$(document).ready(function(){
function DateFromString(str){
str = str.split(/\D+/);
str = new Date(str[2],str[0]-1,(parseInt(str[1])+7));
return MMDDYYYY(str);
}
function MMDDYYYY(str) {
var ndateArr = str.toString().split(' ');
var Months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec';
return (parseInt(Months.indexOf(ndateArr[1])/4)+1)+'/'+ndateArr[2]+'/'+ndateArr[3];
}
function Add7Days() {
var date = $('#start_date').val();
var ndate = DateFromString(date);
return ndate;
}
$('#start_date').change(function(){
$('#end_date') = Add7Days();
})
});
</script>
</head>
<body>
Start Date
<input type="text" id="start_date" value=''>
<br>
End date
<input type="text" id="end_date" value=''>
</body>
</html>
Tôi đã làm gì sai?
Cảm ơn!
Bạn đang rời khỏi nó lên để người dùng nhập ngày theo định dạng bạn mong đợi. Bạn không bao giờ nên tin tưởng người dùng. Vì bạn đã tận dụng jQuery, hãy xem xét thanh công cụ date của jQuery UI. Điều này sẽ cung cấp cho bạn lịch và các giá trị mục nhập ngày đáng tin cậy hơn nhiều. – Brombomb