檢視 Etable/formType/checkbox 的原始碼
←
Etable/formType/checkbox
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
[[分類:Etable]][[分類:LiteSite]] checkbox必須區別單選與複選的起因是'''formcheckbox.php'''中: <pre>function render(){ …… // 如果選項超過一個,而且表單元素名末尾不是[] if(count($this->getOptions())>1 && substr($this->getName(),-2,2)!="[]"){ $newname=$this->getName()."[]"; // 表單元素名末尾加[] $this->setName($newname); // 設為新的表單元素名 } …… foreach($this->getOptions() as $value=>$name){ // 所有選項都做一輪 $ret.="<input type='checkbox' id='".$id.'''$i'''."' name='".$this->getName()."' value='".$value."'"; // 只要有值,就檢查選項值有沒有在已核取值陣列中,若有就秀核取 if(count($this->getValue())>0 && in_array($value,$this->getValue())){ $ret.="checked='checked'"; } $ret.=$this->getExtra()."/>".$name."\n"; '''$i++'''; } …… }</pre> *所以單選與複選,其表單元素名送回伺服器是不同的變數名: *#單選時:$_POST['欄名']得到的是字串 *#複選時:$_POST['欄名']得到的是陣列 *:所以對單選與複選「全部選項未核取」須要賦予不同的定義: *但送入 function XoopsFormCheckBox(…,$value=null,…) 之 $value: *#若未送值則 $value 值維持為 null *#若有送值則 $value 值一律轉為陣列,即使原來的 $value 值是純量,或其值為 null,false,0,空字串都一樣轉成元素值,型別不變。 '''單選:''' #未核取,欄值後送 0 #欄值 0 ,代表未核取 '''複選:''' #全部選項未核取,欄值後送空字串 #欄值 0 ,代表核取過欄值為 0 的選項
返回到
Etable/formType/checkbox
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊