2014-02-06 49 views
0

需要幫助。我想將檢入框中的項目保存到會話中。將複選框中的選中項目保存到會話中

我在做的是獲取檢查的項目的值,並將其存儲在一個數組中。然後我會將該值分配給會話名稱,併爲該會話分配值1。

這是我正在使用的代碼,但它只獲取被檢查的第一個項目。

dim checkboxList 
checkboxList = request.Form("schedule") 
checkboxList = split(checkboxList, ",") 

for each i in checkboxList 
    Session(i) = 1 
next 

例如如果我檢查我的複選框A和B,我應該得到

會議( 「A」)= 1次,會議( 「B」)= 1

但唯一我得到的是會話(「A」)= 1

我試圖檢查是否通過使用此代碼並且數據是正確的我的數組上得到正確的項目。

dim checkboxList 
checkboxList = request.Form("schedule") 
checkboxList = split(checkboxList, ",") 

for each i in checkboxList 
    response.write(i) 
next 

這是我的Html代碼。

<form class="well" method="post" action="applicationSave.asp"> 
<div class="controls"> 
            <input type="checkbox" id="onShifts" name="schedule" value="onShifts" <% if Session("onShifts") = 1 then response.Write("checked") end if %> /> On Shifts?<br> 
            <input type="checkbox" id="nightShifts" name="schedule" value="nightShifts" <% if Session("nightShifts") = 1 then response.Write("checked") end if %> /> Night Shifts?<br> 
            <input type="checkbox" id="partTime" name="schedule" value="partTime" <% if Session("partTime") = 1 then response.Write("checked") end if %> /> Part Time?<br> 
            <input type="checkbox" id="fullTime" name="schedule" value="fullTime" <% if Session("fullTime") = 1 then response.Write("checked") end if %> /> Full Time<br> 
            <input type="checkbox" id="holidays" name="schedule" value="holidays" <% if Session("holidays") = 1 then response.Write("checked") end if %> /> Holidays/Sundays?<br> 
            <input type="checkbox" id="projectBasis" name="schedule" value="projectBasis" <% if Session("projectBasis") = 1 then response.Write("checked") end if %> /> Project Basis 
</div> 
</form> 
+0

問題是什麼? – ulluoink

+0

我只能爲檢查的第一個項目賦值1。例如,如果我檢查我的複選框A,B,C我應該得到以下。 會話( 「A」)= 1 會話( 「B」)= 1 會議) 「C」)= 1 ,但我只得到的第一個。 –

+0

請發表HTML以及,這將是必要的,以給出正確的答案 – Paul

回答

2

這是因爲值僅以「,」(逗號空格)分隔,而不是「,」分隔。 因此,與陣列工作補充之前的「微調」項目:

Dim i 
For i = 0 To UBound(checkboxList) 
checkboxList(i) = Trim(checlboxList(i)) 
Next 

另一種方式 - 寫在聲明中Session(Trim(i)) = 1

順便說一句,你的代碼通常是不安全的。例如,你有一些會話布爾變量Session("IsAuthorized")。訪客可以發送請求到您的.asp文件,值爲schedule=IsAuthorized ...

+0

謝謝你。我會記下你的評論。 :) –

相關問題