2014-01-07 72 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> 

简单的例子没有什么特别的未经检验的在这里使用的任何客户端脚本。