如何使用request.form从ComboBox获取文本而不是值?

时间:2015-02-13 15:09:07

标签: vbscript

我有一个名为“cboCustomer”的组合框,有这个选项:

<option value ="CustomerID"> CustomerName </option>


我可以使用Request.form(cboCustomer)返回组合框的,即CustomerID

但是如何获得组合框的文字CustomerName

2 个答案:

答案 0 :(得分:1)

到目前为止,我无法理解您将所选选项的文本提供给服务器的要求。但是,还有另外一个要做的事情:

  • 向表单添加隐藏控件。
  • 使用&#34; onchange&#34; JavaScript事件检测更改并触发JavaScript函数。 使用如下脚本:

    var dropDownControl= document.getElementById("dropDownId"); var selectedText = dropDownControl.options[dropDownControl.selectedIndex].text; document.getElementById("hiddenFieldId").value = selectedText;

现在,您将能够从服务器端获取值。

注意:MsgBox是客户端功能,从不在服务器端VB脚本中工作。

答案 1 :(得分:0)

根据我的理解,问题是标签文本不会在帖子后面发布到服务器上。

1。)然而,有一个解决方法,从ScriptingGuy1发布:Workaround

<SCRIPT LANGUAGE="VBScript">

    Sub TestSub
        For Each objOption in OptionChooser.Options
            If objOption.Selected Then
                Msgbox objOption.InnerText
            End If
        Next
    End Sub

</SCRIPT>

<body>

<select size="1" name="OptionChooser" onChange="TestSub">
    <option value="0"></option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

</body>

2.。)在我的特定情况下,我认为从Request.Form(cboCustomer)获取值可能会更好,它会吐出一个uniqueID,并使用存储过程调用数据库以获取相应的该CustomerID的CustomerName。在我看来,我认为这会让它更具可读性。不幸的是,我认为这可能会降低性能,但是由于我在实施上述代码时遇到了问题,因此考虑其他人是否遇到了解决方法问题,这是另一种解决方案。

如果我找到另一种解决方案,我会进行编辑,因为这两种解决方案都不像我想的那样直接。