2010-10-14 59 views
0

我有asp(经典)脚本和JavaScript代码。从数据库中获取格式为yyyy-mm-dd(2010-10-14)的日期并保存在变量中。然后,我这个变量传递给JavaScript方法:短跑日期格式和获取方法

Response.Write("<a href='Javascript: PassDate("&OurDate&","&Val1&","&Val2&");'>Pass</a>") 

这种方法的代码是:

function PassDate(OurDate, Val1, Val2) 
{ 
    window.open("newsite.asp?date="+OurDate+"&val1="+Val1+"&val2="+Val2"); 

} 

当我尝试的Request.QueryString( “约会” 得到新的网站(newsite.asp)日期),我得到计算值1996(2010-10-14 = 1986),而不是日期'2010-10-14'。
我尝试各种方法来解决这个问题,但它仍然计算价值。
例如,我尝试将“ - ”替换为“。”,但我得到有关丢失“)”的错误。

回答

0

使用逗号而不是短横线。这样,每个部分将被视为JavaScript函数的单独参数。

+0

感谢您的回复。但我怎么能得到所有参数 - 当我尝试:Response.Write(Request.QueryString(“date”))我只得到年:2010? – luk4443 2010-10-15 00:23:49

+0

将它括在方括号中,例如[2010]或[2010,10,14] - 这样它将被视为JavaScript(OurDate [0],OurDate [1])的一个参数(数组)。 ..)。 – PleaseStand 2010-10-15 00:36:11

+0

谢谢!有用。我只需要:替换(Request.QueryString(“date”),“,”,“ - ”)并获得破折号的日期。问候 – luk4443 2010-10-15 00:58:58

0

您是否考虑过使用JavaScript日期对象保存日期,然后将其传递给您的方法? 我的JavaScript是一个有点生疏,但我相信它会像下面这样:

var dateParts = split(OurDate, "-"); 
var myDate = new Date(dateParts[0], dateParts[1], dateParts[2]);