2010-10-14 29 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]);