檢視 Etable/formType/checkbox 的原始碼
←
Etable/formType/checkbox
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
[[分類:Etable]][[分類:LiteSite]] checkbox必須區別單選與複選的起因是'''formcheckbox.php'''中: :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++'''; ::} ::…… :} *所以單選與複選,其表單元素名送回伺服器是不同的變數名: *#單選時:$_POST['欄名']得到的是字串 *#複選時:$_POST['欄名']得到的是陣列 *:所以對單選與複選「全部選項未核取」須要賦予不同的定義: *但送入 function XoopsFormBitCheckBox(…,$value=null,…) 之 $value: *#若未送值則 $value 值維持為 null *#若有送值則 $value 值一律轉為陣列,即使原來的 $value 值是純量,或其值為 null,false,0,空字串都一樣轉成元素值,型別不變。 '''單選:''' #未核取,欄值後送 0 #欄值 0 ,代表未核取 '''複選:''' #全部選項未核取,欄值後送空字串 #欄值 0 ,代表核取過欄值為 0 的選項
返回到「
Etable/formType/checkbox
」。
切換側邊欄
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊
六年制學程
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋