单击时从HTML调用服务器端功能(经典ASP)

时间:2014-01-07 06:42:20

标签: asp-classic

我正在尝试在Function Save()中使用我的if else语句,但我无法使其有效?单击img按钮后,我想验证是否选中了mycheckBox_A。顺便说一句我使用的是经典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
    %>

5 个答案:

答案 0 :(得分:1)

onclick属性不用于调用服务器端函数。您可以为此分配JavaScript,但不能为VB功能分配JavaScript。想想你是否真的需要服务器端代码,这可能是你在这个确切的地方需要的所有东西都可以通过JavaScript完成。

修改

如果您需要在服务器上执行某些操作,则必须使用AJAX仅将所需数据发送到服务器,或使用submit button或JavaScript调用submit()方法提交表单。提交日期后,您必须在服务器端功能中处理它。对使用POSTGET方法提交的处理进行this short tutorial检查。

答案 1 :(得分:1)

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

  

ASP函数仅在服务器端执行,而onclick事件则执行   仅在客户端执行。你试图将两者混合在一起   不可能的方式。

     

问题是函数calculate()不存在   客户端。浏览器无法看到它。

     

如果需要,您将需要使用JavaScript(或其他客户端技术)   你想拥有这种类型的功能。

这也适用于您的Save()功能。

答案 2 :(得分:0)

你不能像这样使用onclick。您唯一的选择是让按钮成为提交按钮或链接,然后在回发时处理它(如果您需要在服务器端执行)或者在javascript中写入它(如果可以在客户端完成)。 / p>

使用回发来处理服务器逻辑非常简单,基本上它是如何在现代ASP中工作的。您可以将提交按钮放在具有整数的表单中,显示您要执行的操作,然后在页面顶部处理此操作。这样,您可以回发到同一页面,根据按下的按钮等处理不同类型的逻辑。

应该注意的是,这会产生相当丑陋的代码,但话说再说,它是经典的ASP.NET,无论如何都会看起来很难看。

答案 3 :(得分: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>

快速示例没有特别未经测试。

答案 4 :(得分:-1)

您可以使用JQuery post方法并将变量传递给经典的asp页面。