2014-07-11 108 views
0

我在驗證失敗後遇到CodeIgniter重新填充表單的問題。在驗證失敗時重新生成單選按鈕(CodeIgniter)

HTML:

<label for="public">Anyone</label> 
<input type="radio" name="target" value="public" <?php echo set_radio('target', 'public', TRUE); ?> /> 

<label for="direct">Specific</label> 
<input type="radio" name="target" value="direct" <?php echo set_radio('target', 'direct'); ?> /> 

當我第一次加載我得到這個源代碼的形式:

<label for="public">Anyone</label> 
<input type="radio" name="target" value="public" checked="checked" /> 

<label for="direct">Specific</label> 
<input type="radio" name="target" value="direct" /> 

...所以第三個參數是工作(默認爲 「真」)

但是當我在其他領域提交帶有驗證錯誤的表單時,表單將被重新加載而沒有選中單選按鈕。

var_dump($_POST)提交(與其他字段故意驗證錯誤)之後示出了該:

array (size=9) 
    'target' => string 'direct' (length=6) 
    ... 

但沒有單選按鈕被選中。

肯定是一些簡單的...幫助?

+1

但是,這是單選按鈕是如何工作的...?根據codeIgniter手冊....不是?在這裏看到http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html在底部。 – Maxcot

+1

這可能有助於http://stackoverflow.com/q/16473459/3574819 – FuzzyTree

+0

@FuzzyTree - 謝謝。那就是訣竅。 (你需要添加一個虛假的規則)。 – Maxcot

回答

1

答案顯然是爲單選按鈕添加一個僞造規則。

$this->form_validation->set_rules("tenderType", "", "trim"); 

由於@FuzzyTree指着這裏的解決方案:stackoverflow.com/q/16473459/3574819