2014-07-23 50 views
0

您好我正在處理java腳本,我在aspx頁面上編寫java腳本函數並調用該函數,該函數將返回按鈕單擊事件的值,但是當我點擊按鈕時該函數不是被調用這裏是我的代碼。按鈕上的JavaScript函數點擊

的Java腳本函數

function CheckAge(age) 
{ 
if (age > 18) 
return true; 
else 
return false;     
} 

這裏是按鈕單擊事件中CSfile

try 
{ 
bool check = false; 
try 
{ 
btnAge.Attributes.Add("onClick", "javascript:return CheckAge('" + txtAge.Text + "')"); 
if (check) 
Response.Write("You Are Eligible"); 
else 
Response.Write("You Are Not Eligible"); 
} 
catch (Exception err) 
{ 
Response.Write(err.Message); 
} 
} 
catch (Exception) 
{ 
throw; 
} 
} 

請幫我,可以給代碼請

回答

0

變量check沒有設置。 試試這個:

btnAge.Attributes.Add("onClick", "javascript:var check=CheckAge('" + txtAge.Text + "')"); 
+0

當然最主要的問題是試圖混合客戶端和服務器程序,不被設置檢查變量是iceburg的一角.. –

+0

答案是基於你的問題的內容! –

+0

#1不是我的問題。 #2你的解決方案創建一個javascript變量,他的檢查變量是一個aspx變量。所以即使這個電話奇蹟般地追溯到頁面生成之前,仍然無法工作。 –

0

的問題是在將頁面發送給用戶在.aspx代碼進行計算。代碼將在用戶收到頁面之前立即運行。一旦用戶擁有該頁面,除非刷新頁面或調用另一頁面,否則不會運行任何javascript腳本。

可以在Javascript中創建整個函數,或者使用aspx可以處理的GET變量重新加載頁面。

JS:

function CheckAge(age) 
{ 
    if (age > 18) document.location.href = "index.aspx?allowed=1"; 
    else document.location.href = "index.aspx?allowed=0";     
} 

ASP:

try 
{ 
    if(Request.QueryString["allowed"]==1) Response.Write("You Are Eligible"); 
    if(Request.QueryString["allowed"]==0) Response.Write("You Are Not Eligible"); 
} 
catch (Exception) 
{ 
    throw; 
}