0

私は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

4

1 に答える 1

1

引数を引用するために何もしていない (つまり、'...'またはでラップしていない"...") ため、JavaScript 式として解釈されています。JavaScript ソースコードで06042012は、 は 8 進整数として解釈されるため (先頭に がある0ため)、1623050 を示します。

これを修正するには、JavaScript 文字列を'...'orで囲んでください"..."(内部の引用符、バックスラッシュ、改行、特殊文字などを適切にエスケープします</)。そうすれば、JavaScript が必要に応じて文字列として解釈する'06042012'orが得られます。"06042012"

于 2013-01-13T07:39:07.213 に答える