Javascript 如果第1-9天连接日期为零,则函数已中断

Javascript 如果第1-9天连接日期为零,则函数已中断,javascript,function,Javascript,Function,我有3个字段,日、月、年,以及一个加入它们的函数。问题是我需要在day字段前面加一个0,如果它没有并且是1到9。 所以我在8月1日得到的是 2015年8月1日但我需要的是 2015年8月1日 所以我一直在尝试str_pad的变体(“尝试了不同的东西”,10,'0',str_pad_左) 在第一行和第二行中 最后一行写着r_日期但没有运气 function join_date() { var dd = document.getElementById('day').value; var mm = d

我有3个字段,日、月、年,以及一个加入它们的函数。问题是我需要在day字段前面加一个0,如果它没有并且是1到9。 所以我在8月1日得到的是

2015年8月1日但我需要的是 2015年8月1日

所以我一直在尝试str_pad的变体(“尝试了不同的东西”,10,'0',str_pad_左)

在第一行和第二行中 最后一行写着r_日期但没有运气

function join_date()
{
var dd = document.getElementById('day').value;
var mm = document.getElementById('month').value;
var yy = document.getElementById('year').value;
document.getElementById('dr_date').value =  (('0'+dd).slice(-2)+"/"+mm+"/"+yy)

}

在Javascript中,串接(“添加”)字符串是通过
+
操作符完成的(我假设您已经知道)。只需检查该值是否小于10(因此它需要一个
0
前缀)并对其进行编辑。否则不要修改字符串

var dd = document.getElementById('day').value;
var mm = document.getElementById('month').value;
var yy = document.getElementById('year').value;

/*
    The next is equivalent to:

    if ( dd < 10 ) dd = "0" + dd;
    else dd = dd;

    The same goes for the month.
*/
dd = dd < 10 ? "0" + dd : dd;
mm = mm < 10 ? "0" + mm : mm;

document.getElementById('r_date').value =(dd+"/"+mm+"/"+yy)
var dd=document.getElementById('day').value;
var mm=document.getElementById('month')。值;
var yy=document.getElementById('year')。值;
/*
下一步相当于:
如果(dd<10)dd=“0”+dd;
否则dd=dd;
这个月也是如此。
*/
dd=dd<10?“0”+dd:dd;
毫米=毫米<10?“0”+mm:mm;
document.getElementById('r_date')。值=(dd+“/”+mm+“/”+yy)

我通过将最后一行更改为document来计算出可能的副本。getElementById('dr_date')。value=('0'+dd.slice(-2)+“/”+mm+“/”+yy)@Kilisi使用该(
('0'+dd.slice(-2)
)比只使用
if then else
更昂贵。你将连接然后得到一个子字符串。我不知道,我对js非常陌生,我将使用你给出的答案。很好!不同于我如何修复它,但这将是非常有用的