2014-01-07 98 views
2

我想在我的Function Save()裏面使用我的if else語句,但是我無法使其工作?點擊img按鈕後,我想驗證是否已選中mycheckBox_A。順便說我使用傳統的ASP從點擊HTML(經典ASP)調用服務器端函數

<img src="blah" onclick="<%Save()%>"/>  

    <% 
    Function Save()  
     If mycheckBox_A.checked Then  
     'mycheckBox_A is checked  
     Else  
     'mycheckBox_B is checked 
     End If 
    End Function 
    %> 
+1

混合服務器端代碼與客戶端事件,呃? – Abhitalks

+0

@konrad:現在我真的很困惑。爲什麼你從問題中刪除* classic asp *並標記兩者? Op可能已經使用*經典的asp *! – Abhitalks

+0

我使用的是經典的asp – user3138076

回答

1

onclick屬性不是調用服務器端功能。您可以將JavaScript分配給該函數,但不能使用VB函數。想想如果你真的需要服務器端代碼,那麼在這個確切的地方你需要的所有東西都可以用JavaScript來完成。

編輯:

如果您需要做的事情在服務器上,你必須使用AJAX來只有你想要的數據發送到服務器或submit button或JavaScript調用提交表單submit()方法。提交日期後,您必須在您的服務器端功能中處理它。檢查this short tutorialPOSTGET方法提交的處理。

+0

您從標題以及標記中刪除了* classic * *?爲什麼你認爲操作是使用asp.net而不是經典的asp,當操作指定在原來的問題? – Abhitalks

+0

@abhitalks第二個想法是刪除這個標籤,因爲它的標題也是愚蠢的,是真的。當人們添加了ASP.NET和ASP經典標籤並且他們正在討論.NET時,我剛看到很多次。這個一般性的錯誤讓我去掉了「經典」標籤,並將問題當作關於.NET版本的問題來處理,並將其作爲ASP.NET的回答。 –

+0

請更新答案以刪除onserverclick和runat服務器部分。這樣我可以扭轉downvote。 – Abhitalks

1

根據how to call a ASP function in the onclick event

ASP功能僅在服務器端執行,而onclick事件 只在客戶端執行。你試圖以不可能的方式混合兩者。

問題是 客戶端上不存在函數calculate()。瀏覽器無法看到它。

如果您想要具有此類功能,您將需要使用JavaScript(或其他客戶端技術)。

這也適用於您的Save()函數。

+0

+1改善答案 – Abhitalks

+0

那我該怎麼做 – user3138076

0

你不能像這樣使用onclick。唯一的選擇是讓按鈕成爲提交按鈕或鏈接,然後在回發時處理它(如果需要在服務器端進行處理),或者在JavaScript中編寫它(如果可以在客戶端完成)。

使用回傳處理服務器邏輯非常簡單,基本上它是如何在現代ASP中工作的。您可以將提交按鈕設置爲具有整數的形式,以顯示您想要執行的操作,然後在頁面頂部處理。這樣,你可以回發到同一頁面,根據按下的按鈕處理不同的邏輯類型等。

需要注意的是,這使得代碼非常難看,但它又是經典的ASP.NET,無論如何,它看起來都很醜。

-1

你可以使用JQuery post方法並將你的變量傳遞給經典的asp頁面。

0

沒有必要在所有

<% 
'Have you POST to this page? 
If Len(Request.Form) > 0 Then Call Save() 

Sub Save() 
    Dim a_check, i_item, i_items 
    a_check = Split(Request.Form("checkbox") & "", ",") 
    If IsArray(a_check) Then 
    i_items = UBound(a_check, 1) 
    For i_item = 0 To i_items 
     'Could store this and output it later on but is just a quick example 
     Response.Write a_check(i_item) & " is checked" 
    Next 
    End If 
End Sub 
%> 
<html> 
    <head> 
    </head> 
    <body> 
    <!-- make the page POST to itself --> 
    <form method="POST" action=""> 
     <! -- your other fields etc 

     <input type="checkbox" name="checkbox" value="A" /> 
     <input type="checkbox" name="checkbox" value="B" /> 

     <input type="submit" value="Save" /> 
    </form> 
    </body> 
</html> 

簡單的例子沒有什麼特別的未經檢驗的在這裏使用的任何客戶端腳本。