【发布时间】:2017-08-31 14:29:57
【问题描述】:
我有“n”条 SQL 语句返回的行数。它工作正常。对于返回的每一行,我希望用户选择一个选项(Pass=1、Fail=2、NA=3)并在提交时将这些值(1、2、3)插入到数据库表中。
但是,当我尝试获取用户选择的单选按钮的值以及其他值(例如 CategoryID 或 SubcatID)时遇到了问题。
动态的HTML表单是这样的:
Category table
CategoryID Category
------------
01 cat
02 cat 2
03 cat 3
Subcat table
SubcatID Subcat Category_id
-------------------------
1 Jenny 01
2 Emmy 01
3 James 02
4 Hudson 02
5 Mike 03
报告表输出应该是:
ReportID CategoryID SubcatID Scale
------------------------------------------
1 01 1 1
2 01 2 1
3 02 3 2
4 02 4 2
5 03 5 3
也就是说,我每次提交表单时,都会有5条记录插入到一个表中。如果我将另一个子类别添加到一个主类别中,那么将有 6 条记录添加到一个表中。
目前,报告表显示这个,这是错误的:
ReportID CategoryID SubcatID Scale
------------------------------------------
1 01, 02, 03 1, 2, 3, 4, 5 empty
这是我的 ASP 代码:
If Request.Form("FormSource") = "SubmitForm" Then
sReportID = Request.Form("ReportID")
sCategoryID = Request.Form("CategoryID")
sSubcatID = Request.Form("SubcatID")
sScale = Request.Form("Scale")
SQL = "SET NOCOUNT ON;" &_
"INSERT INTO Report (ReportID, CategoryID, SubcatID, Scale) VALUES " &_
"('" & SCategoryID & "', '" & SSubcatID & "', '" & SCategoryID & "', '" & SScale & "');" &_
"SELECT @@IDENTITY AS ReportID"
Set objRS = objCon.Execute (SQL)
sReportID = objRS.Fields("ReportID").value
objRS.Close
End If
%>
<form action="" method="post" id="newCategory">
<table>
<tr>
<td>Category and sub</td>
<td>Pass</td>
<td>Fail</td>
<td>NA</td>
</tr>
<%
currCat = ""
sSQL = "SELECT s.*, c.* FROM Category c, Subcat s WHERE s.Subcat_id = c.Subcat_id "
objRS.Open sSQL, objCon
response.Write sSQL
Do Until objRS.EOF
sCategory = objRS("Category")
sSubcat = objRS("Subcat")
if currCat <> sCategory Then
currCat = sCategory
%>
<tr><td><%=sCategory%></td></tr>
<input type="hidden" name="CategoryID" size="40" maxlength="50" value="<%=sCategory%>">
<%
End If
%>
<tr><td><%= sSubcat %></td>
<input type="hidden" name="SubcatID" size="40" maxlength="50" value="<%= sSubcat %>">
<td><input size="20" type="radio" name="<%=sCategory%>" value="1"></td>
<td><input size="20" type="radio" name="<%=sCategory%>" value="2"></td>
<td><input size="20" type="radio" name="<%=sCategory%>" value="3"></td>
</tr>
<%
objRS.MoveNext
Loop
objRS.Close
%>
</table>
<input type="hidden" name="FormSource" value="CatSubmit">
<input type="button" value="Update" onclick="submitForm();">
非常感谢!
【问题讨论】:
-
我能够通过在每个输入框中的名称上添加 来弄清楚如何选择每个单选按钮。即使我检查了不同的框,我也不知道为什么所有字段都为“0”。谢谢。
-
我修复了您问题中的一些代码。如果您设法解决了您的问题,我建议您发布答案并将其标记为已接受。
-
我仍然无法正常工作。我得到了正确的 ReportID 输出。但是,Scale 是空值。类别 ID:2、5、7 和子类别 ID:1、2、3。它们应该是每行一个唯一的 ID。有人可以帮忙吗?
-
您能否更新您的问题以显示您现在使用的代码?
-
BoffinbraiN,我更新了我的问题。请帮忙。谢谢。
标签: javascript jquery arrays vbscript asp-classic