从jsp发送到javascript函数时,值意外更改

时间:2013-01-13 07:33:20

标签: javascript jsp

我在jsp中有一段代码:

String temp=new SimpleDateFormat("MMddyyyy").format((java.sql.Date)ppdates.get(authShown));
out.print(temp);

<select id="pcol<%=i%><%=weekNo%><%=au%>" onChange="pSelectedAuth(<%=i%>,<%=weekNo%>,<%=au%>,<%=currentEmployee%>,<%=temp%>)">

这会在屏幕上打印06042012

现在,我的javascript函数如下:

function pSelectedAuth(formID,weekNo, index, currentEmployee,startDate){
alert(formID+":"+weekNo+":"+index+":"+currentEmployee+":"+startDate);

onchange,此提醒显示1623050 有没有人知道如何让我的06042012回来?

1 个答案:

答案 0 :(得分:1)

你没有做任何引用你的论点的事情(也就是说 - 你没有将它们包装在'...'"..."中),所以它们被解释为JavaScript表达式。在JavaScript源代码中,06042012被解释为基数为8的整数(因为前导0),因此它表示为1623050。

要解决此问题,请确保将JavaScript字符串包装在'...'"..."中(以及正确转义任何内部引号,反斜杠,换行符,特殊字符,{{1} }, 等等)。这样,您就可以</'06042012'将JavaScript解释为字符串,就像您想要的那样。