Проблем с получаване на стойност на падащия списък

Имам падащо меню, но не мога да получа стойността на избрания елемент. Ако използвам request.form("PageSelect"), стойността е 0, въпреки че знам, че моят многомерен масив, използван за попълване на списъка, работи.

 <select name="PageSelect" onchange="this.form.submit()" style="font-weight:bold;">
                            <option value="">[All]</option>                         
                    <%                    
                    Dim PageArray
                    Dim PageCount
                    Set c = Server.CreateObject("ADODB.Connection")
                    Set r = Server.CreateObject("ADODB.Recordset")
                    r.CursorLocation = adUseServer
                    c.open connectionstring
                    c.CursorLocation = adUseServer

                    SQL = "select * from a_page order by P_Description"

                    Set r = Server.CreateObject("ADODB.Recordset")
                    r.CursorLocation = adUseServer
                    r.Open SQL, c, adOpenForwardOnly, adLockReadOnly
                    If r.BOF or r.EOF Then
                       r.close()
                       Set r = Nothing
                    Else
                       PageArray = r.GetRows()
                       PageCount = UBound(PageArray, 2)
                       r.Close()
                       Set r = Nothing
                    End If
                    c.Close()
                    Set c = Nothing
                        for i = 0 to PageCount                        
                            if PageSelect = pageArray(0,i) then
                            %>                          
                                <option selected value="<%=pageArray(0,i) %>"><%=pageArray(1,i) %></option>
                            <%                  
                            else
                            %>
                                <option value="<%=pageArray(0,i) %>"><%=pageArray(1,i) %></option>
                            <% 
                            end if
                        next %>
                        </select>

над този код има още 2 полета за избор за различни елементи

<select id="PermissionID" name="PermissionID" onChange="this.form.submit()" style="font-weight:bold;">
                            <option value="0">[All Permissions]</option>
<%  obj_ADO.ClearParameters
    lng_RecSet1 = obj_ADO.GetFreeRecordset
    obj_ADO.Recordset "A_combo_Permissions_select", adCmdStoredProc, obj_Session.int_CommandTimeout, lng_RecSet1
    while obj_ADO.EOF(lng_RecSet1) = 0
        if obj_ADO.GetField(0, adValue, lng_RecSet1) = lng_PermissionID then
%>
                            <option selected value="<%=obj_ADO.GetField(0, adValue, lng_RecSet1)%>"><%=obj_ADO.GetField(1, adValue, lng_RecSet1)%></option>
<%      
        else
%>
                            <option value="<%=obj_ADO.GetField(0, adValue, lng_RecSet1)%>"><%=obj_ADO.GetField(1, adValue, lng_RecSet1)%></option>
<%
        end if
        obj_ADO.MoveNext lng_RecSet1
    wend
    obj_ADO.CloseRecordset lng_RecSet1
%>                      
                        </select>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <select multiple size="10" name="ActionPermissionID" id="ActionPermissionID">
                            <option value="">[Add/Remove Permission]</option>
<%  obj_ADO.ClearParameters
    lng_RecSet1 = obj_ADO.GetFreeRecordset
    obj_ADO.Recordset "A_combo_Permissions_select", adCmdStoredProc, obj_Session.int_CommandTimeout, lng_RecSet1
    while obj_ADO.EOF(lng_RecSet1) = 0
        if not isarray(lng_ActionPermissionID) then
            if obj_ADO.GetField(0, adValue, lng_RecSet1) = lng_ActionPermissionID then
%>
                            <option selected value="<%=obj_ADO.GetField(0, adValue, lng_RecSet1)%>"><%=obj_ADO.GetField(1, adValue, lng_RecSet1)%></option>
<%      
            else
%>
                            <option value="<%=obj_ADO.GetField(0, adValue, lng_RecSet1)%>"><%=obj_ADO.GetField(1, adValue, lng_RecSet1)%></option>
<%
            end if
        else
%>
                            <option value="<%=obj_ADO.GetField(0, adValue, lng_RecSet1)%>"><%=obj_ADO.GetField(1, adValue, lng_RecSet1)%></option>
<%
        end if
        obj_ADO.MoveNext lng_RecSet1
    wend
    obj_ADO.CloseRecordset lng_RecSet1

%>                      
                        </select>

person kurupt_89    schedule 19.07.2011    source източник
comment
Можете ли да публикувате фрагмент от изходния код на страницата, съдържащ ‹select›‹/select›?   -  person Brian Webster    schedule 19.07.2011
comment
@hamlin11, благодаря, намерих проблема, докато търсих да публикувам източника за вас.   -  person kurupt_89    schedule 19.07.2011
comment
добри новини. Чувствайте се свободни да го публикувате тук и да го маркирате като отговор. Може да искате да редактирате въпроса си, така че да е полезен за минувачите с подобен въпрос. късмет   -  person Brian Webster    schedule 19.07.2011


Отговори (1)


Тук имаше проблем -

if len(Request.Form("PageSelect"))>0 and isnumeric(Request.Form("PageSelect")) then 
    PageSelect = clng(Request.Form("PermissionID"))
else
    PageSelect = 0
end if

променен на това -

if len(Request.Form("PageSelect"))>0 and isnumeric(Request.Form("PageSelect")) then 
    PageSelect = clng(Request.Form("PageSelect"))
else
    PageSelect = 0
end if
person kurupt_89    schedule 19.07.2011