我正在尝试在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
%>
答案 0 :(得分:1)
onclick
属性不用于调用服务器端函数。您可以为此分配JavaScript,但不能为VB功能分配JavaScript。想想你是否真的需要服务器端代码,这可能是你在这个确切的地方需要的所有东西都可以通过JavaScript完成。
修改强>
如果您需要在服务器上执行某些操作,则必须使用AJAX仅将所需数据发送到服务器,或使用submit button或JavaScript调用submit()
方法提交表单。提交日期后,您必须在服务器端功能中处理它。对使用POST
和GET
方法提交的处理进行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页面。