在ASP Classic页面上隐藏一个单选按钮选项

时间:2016-12-15 12:24:26

标签: vbscript asp-classic radio-button html-select

几个月前我问过如何在经典ASP页面上隐藏一些从数据库中提取的下拉选项,以便用户无法选择这些选项。但现在,在其余选项之一上会出现3个无线电盒选项。我必须删除其中一个选项。根据Chrome,我需要删除的选项称为value="_BML7(B)"

我最后一次将以下代码插入到include.asp文件中的以下代码中,该文件效果很好但是隐藏了下拉选项。这个我需要隐藏当前下拉选项中的一个单选按钮选项。

Sub buildDropDownList(strCurrentSelection, objListData, strCodeName, strDescriptionName, blnIncludeOther)
    If Not objListData.BOF Then
        objListData.MoveFirst
    End If
    Dim currentCodeValue
While Not objListData.EOF
    currentCodeValue = objListData(strCodeName)
    If (UCase(currentCodeValue)<>"_04GIDBM") And _
        (UCase(currentCodeValue)<>"_05GIDFM") And _ 
        (UCase(currentCodeValue)<>"_03MIS(Q") And _ 
        (UCase(currentCodeValue)<>"_06GIDMS") And _ 
        (UCase(currentCodeValue)<>"_08EXHRM") And _ 
        (UCase(currentCodeValue)<>"_10EXMKT") And _ 
        (UCase(currentCodeValue)<>"_12EXTTH") And _ 
        (UCase(currentCodeValue)<>"_15AFT") And _ 
        (UCase(currentCodeValue)<>"_16HSC") And _
        (UCase(currentCodeValue)<>"_18LTD") And _
        (UCase(currentCodeValue)<>"_19EBM") And _    
        (UCase(currentCodeValue)<>"_17EXHSC") Then
        Response.Write "<option value='" & currentCodeValue & "' "
        If StrComp(strCurrentSelection, currentCodeValue, 1) = 0 then
            Response.Write "selected"
        End If
        Response.Write ">" & objListData(strDescriptionName) & "</option>" & VbCrLf
    End If

我真的可以使用这方面的帮助,并提前感谢大家的帮助!我对Classic ASP不太满意,但我正在努力。

以上是我上次在include.asp文件中插入的代码。

<p align="center">
            <%
                do until rsProgramLevel.EOF
                    Response.Write "<input type=""radio"" name=""programcode"" onclick=""onProgramCode()"" "
                    Response.Write "value=""" & rsProgramLevel("ProgramCode") & """ "
                    if rsProgramLevel("ProgramCode") = strProgramCode then
                        Response.Write "checked"
                    end if
                    Response.Write ">"
                    Response.Write "&nbsp;"
                    Response.Write rsProgramLevel("LevelDescription") & " (&pound;" & FormatNumber(rsProgramLevel("ChargeValue"), 2) & ")&nbsp;&nbsp;&nbsp;"
                    Response.Write "&nbsp;&nbsp;&nbsp;&nbsp;"

                    rsProgramLevel.MoveNext
                loop
            %>
            </p>

2 个答案:

答案 0 :(得分:2)

您可以将列表编译成字符串,就像这样......

Const ignoreCodes = " _04GIDBM _05GIDFM _03MIS(Q _06GIDMS _08EXHRM _10EXMKT _12EXTTH _15AFT _16HSC _18LTD _19EBM _17EXHSC "

将其添加到文件的最顶层(在任何Option Explicit命令之后)。如果您要添加新代码,只需确保其旁边有空格。

然后只是对它进行测试......

If Instr(ignoreCodes, UCase(currentCodeValue)) = 0 Then
    Response.Write("<option value='" & currentCodeValue & "' ")
    If StrComp(strCurrentSelection, " " & currentCodeValue & " ", 1) = 0 then
        Response.Write " selected "
    End If
    Response.Write(">" & objListData(strDescriptionName) & "</option>")
End If

如果您进一步考虑这一点,那么只需将列表包含在数据库的冗余代码表中即可。

答案 1 :(得分:1)

为了简单起见,只需使用基本的If..Then语句包装发送HTML的代码:

<div id="contact">
    <h3>CONTACT</h3>
    <p>My form</p>
    <a href="javascript:void(0)" onclick="exchangeBoxes('contact', 'reset')">Reset Password</a>
    <a href="javascript:void(0)" onclick="exchangeBoxes('contact', 'about')">About</a>
</div>

<div id="reset" style="display:none">
    <h3>RESET</h3>
    <p>Reset password form</p>
    <a href="javascript:void(0)" onclick="exchangeBoxes('reset', 'contact')">Back to contact</a>
</div>

<div id="about" style="display:none">
    <h3>ABOUT</h3>
    <p>Some info.</p>
    <a href="javascript:void(0)" onclick="exchangeBoxes('about', 'contact')">Back to contact</a></li> 
</div>