我有一个复选框
<input type="checkbox" name="chkNGI" id="prod_ngi_sn" value="1">
当检查时,我传递值1,但是当没有检查时,传递任何值。 我必须传递值0。
我试过
<input type="checkbox" name="chkNGI" id="prod_ngi_sn" <%if prod_ngi_sn.checked then value="1" else value="0" end if%>>
但没效果。
TKS
答案 0 :(得分:8)
复选框仅在勾选时传递值。您需要服务器端的逻辑来适应这种情况。
Dim chkNGI
chkNGI = Request("chkNGI") & ""
If chkNGI = "" Then
chkNGI = "0"
End If
答案 1 :(得分:3)
<script>
function calcParam() {
var checked = document.getElementById("prod_ngi_sn").checked;
if (checked)
document.getElementById("hiddenNGI").value = "1";
else
document.getElementById("hiddenNGI").value = "0"; }
</script>
<input type="hidden" name="chkNGI" id="hiddenNGI">
<input type="checkbox" name="checkNGI" id="prod_ngi_sn" onClick="calcParam()">
答案 2 :(得分:2)
创建名为“chkNGI”的隐藏输入。 将当前复选框重命名为不同的复选框。 为onClick添加处理复选框并使用一个小的javascript函数,根据复选框的状态,在隐藏的输入中写入0或1。
举个例子,
<script>
function calcParam() {
var checked = document.getElementById("prod_ngi_sn").checked;
if (checked)
document.getElementById("hiddenNGI").value = "1";
else
document.getElementById("hiddenNGI").value = "0";
}
</script>
<input type="hidden" name="chkNGI" id="hiddenNGI">
<input type="checkbox" name="checkNGI" id="prod_ngi_sn" onClick="calcParam()">
答案 3 :(得分:2)
您可以尝试这种单线解决方案
信息:RS =记录集对象
<input type="checkbox" <%If RS("ColumnName")=True Then Response.Write(" checked='checked' ")%> name="tableColumn" value="1" >
答案 4 :(得分:2)
我知道这个问题已经过时了,但我最近不得不为Classic ASP中的公司重构一些遗留代码,并遇到了这个问题。现有代码使用隐藏的表单字段,其名称与复选框的名称相同,并查找&#34; false&#34;或者&#34; false,true&#34;在结果中。它感觉很糟糕,但代码也基于带有前缀的动态命名复选框字段执行操作,因此推断&#34; false&#34;从缺失的领域将引入不同的复杂性。
如果您想要一个复选框,则返回&#34; 0&#34;或&#34; 1&#34;,这种技术应该可以解决问题。它使用一个未命名的复选框来操作命名的隐藏字段。
<html>
<body>
<% If isempty(Request("example")) Then %>
<form>
<input type="hidden" name="example" value="0">
<input type="checkbox" onclick="example.value=example.value=='1'?'0':'1'">
<input type="submit" value="Go">
</form>
<% Else %>
<p>example=<%=Request("example")%></p>
<% End If %>
</body>
</html>
答案 5 :(得分:1)
您在保存页面的帖子中的解决方案;
<强> save.asp 强>
<%
' connection string bla bla
' RS = Recordset Object
If Request.Form("tableColumn")=1 Then
RS("ColumnName") = 1
Else
RS("ColumnName") = 0
End If
' other columns saving process bla bla bla
%>