2014-09-26 115 views
0

的順序請參考下面這在服務器端生成的代碼:的Javascript - 鼠標點擊

tc.Attributes.Add("onclick", "location.reload(); this.style.backgroundColor='olivedrab'; open('PrimaryNominalAjax.aspx?USN=" & CStr(objDR("USN")) & "&Requester=" & strUserName & "&Status=" & CStr(intReviewStatus) & "&Reason=-1&Review=" & lngReview & "','_blank','')") 

當用戶點擊該代碼到達服務器端頁面加載事件在客戶端的鏈接: PrimaryNominalAjax.aspx刷新當前網頁之前。爲什麼是這樣?

回答

0

location.reload()不會阻止其他javascript的執行。因此,如果需要說5秒重新加載頁面,動畫等可以繼續。

你想讓你的網站:重新加載,然後改變顏色,然後打開另一個頁面?我不認爲你可以用上面的方法完成這個任務。一旦頁面重新加載,它在重新加載之前就已經失去了狀態的所有知識。所以重新加載後,頁面不會知道tc按鈕被點擊。

你可能更好地導航到當前頁面的URL參數

location.href = location.href + "?button=tc"; 

然後在onload事件,檢查是否該值是在URL,然後改變背景顏色,打開第二頁。沿線的東西:

if(location.search === "button=tc") 
{ 
    // change color 
    // open page 
}