▲ 獨立的 Checkbox (不需value屬性)
<input type=“checkbox” name=“apple” checked>Apple
<input type=“checkbox” name=“banana”>Banana
<input type=“checkbox” name= cherry”>Cherry
伺服端擷取傳出值方法 : 須用一連串if判斷元件是否傳出被核取字串 “on”
<% if (Request(“apple”)==“on”) {Response.Write(“Apple!”);} %>
▲ Checkbox群組 (相同的name,須設value屬性) : 同名元件傳出多個值
<input type=“checkbox” name=“fruit” value=“apple” checked>Apple
<input type=“checkbox” name=“fruit” value=“banana”>Banana
<input type=“checkbox” name=“fruit” value=“cherry”>Cherry
伺服端擷取傳出值方法 : 利用 Request 物件取出value屬性值陣列, 注意此陣列索引從1開始
<% =Request(“fruit”) %> //傳出值為陣列值apple,banana,cherry (以逗號隔開)
<% for (var i=1; i<=Request(“fruit”).Count; i++) {Response.Write(Request(“fruit”)(i));} %>
如果要存入資料庫, 必須先將傳出陣列串成字串(用一個特殊接合字元串起來), 再寫入欄位內
<% var fruit=new Array();
for (var i=1; i<=Request(“fruit”).Count; i++) {fruit.push(String(Request(“fruit”)(i)));}
fruit=fruit.join(“-”); //fruit陣列變成字串,也可用 toString();但元素固定以逗號接合 %>
由資料庫讀出時, 再用 split() 拆回陣列即可 <% var fruit=RS(“fruit”).Value.split(“-”)%>
注意,元素內不可含有接合字元,否則拆回陣列時會出錯 (元素變多)! 解決辦法 :
1. 元素接合前用escape轉成Latin-1編碼,拆回後用unescape轉回ASCII碼
fruit.push(escape(String(Request(“fruit”)(i)))); //先轉後串
var fruit=unescape(RS(“fruit”).Value.split(“-”)); //先拆後轉
2. 接合前把元素內容濾除接合字元
fruit.push(escape(String(Request(“fruit”)(i)).replace(/[-]/g, “”))); //先轉後串
▲ 客戶端元件存取 :
獨立checkbox直接用名稱或id個別存取, obj=formObj.apple;
Checkbox 群組與Radio群組存取法一樣.
<input type=“checkbox” name=“apple” checked>Apple
<input type=“checkbox” name=“banana”>Banana
<input type=“checkbox” name= cherry”>Cherry
伺服端擷取傳出值方法 : 須用一連串if判斷元件是否傳出被核取字串 “on”
<% if (Request(“apple”)==“on”) {Response.Write(“Apple!”);} %>
▲ Checkbox群組 (相同的name,須設value屬性) : 同名元件傳出多個值
<input type=“checkbox” name=“fruit” value=“apple” checked>Apple
<input type=“checkbox” name=“fruit” value=“banana”>Banana
<input type=“checkbox” name=“fruit” value=“cherry”>Cherry
伺服端擷取傳出值方法 : 利用 Request 物件取出value屬性值陣列, 注意此陣列索引從1開始
<% =Request(“fruit”) %> //傳出值為陣列值apple,banana,cherry (以逗號隔開)
<% for (var i=1; i<=Request(“fruit”).Count; i++) {Response.Write(Request(“fruit”)(i));} %>
如果要存入資料庫, 必須先將傳出陣列串成字串(用一個特殊接合字元串起來), 再寫入欄位內
<% var fruit=new Array();
for (var i=1; i<=Request(“fruit”).Count; i++) {fruit.push(String(Request(“fruit”)(i)));}
fruit=fruit.join(“-”); //fruit陣列變成字串,也可用 toString();但元素固定以逗號接合 %>
由資料庫讀出時, 再用 split() 拆回陣列即可 <% var fruit=RS(“fruit”).Value.split(“-”)%>
注意,元素內不可含有接合字元,否則拆回陣列時會出錯 (元素變多)! 解決辦法 :
1. 元素接合前用escape轉成Latin-1編碼,拆回後用unescape轉回ASCII碼
fruit.push(escape(String(Request(“fruit”)(i)))); //先轉後串
var fruit=unescape(RS(“fruit”).Value.split(“-”)); //先拆後轉
2. 接合前把元素內容濾除接合字元
fruit.push(escape(String(Request(“fruit”)(i)).replace(/[-]/g, “”))); //先轉後串
▲ 客戶端元件存取 :
獨立checkbox直接用名稱或id個別存取, obj=formObj.apple;
Checkbox 群組與Radio群組存取法一樣.
沒有留言:
張貼留言