我有一個佔位符值輸入框,在頁面加載時設置爲display:none;
,因爲它受jQuery控制,並顯示何時佔位符下拉框被選中爲yes。PHP驗證和隱藏的下拉框
我的問題是我對錶單使用了Codeigniter驗證,如果我在表單上有錯誤,頁面重新加載佔位符下拉框狀態爲yes,但佔位符值輸入框消失。
我最好打賭是創建一個callback_函數,基本上聲明是否選擇是顯示輸入框?
的jQuery:
$("#add_fields_placeholder").change(function()
{
if($(this).val() == "yes")
{
$('label[for="add_fields_placeholderValue"]').show();
$("#add_fields_placeholderValue").show();
}
else
{
$('label[for="add_fields_placeholderValue"]').hide();
$("#add_fields_placeholderValue").hide();
}
});
查看:
<label for="add_fields_placeholder">Placeholder: </label>
<select name="add_fields_placeholder" id="add_fields_placeholder">
<option value="">Please Select</option>
<option value="yes" <?php echo set_select('add_fields_placeholder','yes', (!empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE));?>>Yes</option>
<option value="no" <?php echo set_select('add_fields_placeholder','no', (!empty($placeholderType) && $placeholderType == "no" ? TRUE : FALSE));?>>No</option>
</select>
<label for="add_fields_placeholderValue">Placeholder Text: </label>
<input type="text" name="add_fields_placeholderValue" id="add_fields_placeholderValue" value="<?php echo set_value('add_fields_placeholderValue'); ?>">
控制器驗證:
$this->form_validation->set_rules('add_fields_placeholder', 'Placeholder', 'trim|required|xss_clean|callback_dropdown_check');
$this->form_validation->set_rules('add_fields_placeholderValue', 'Placeholder Text','trim|xss_clean');
我想你需要檢查'dropdown'的實際狀態,所以每次你的頁面加載時,你都會檢查狀態並對其他字段進行必要的更改。我認爲這個問題不是PHP相關的,因爲沒有PHP錯誤,所以如果我沒有弄錯,你可以改變標籤嗎? =) – Gerep 2012-08-15 00:20:25
你用javascript來顯示隱藏字段?如果是這樣,你只需要在頁面加載時調用它;) – 2012-08-15 01:21:47
@SérgioMichels你能否給我提供一個例子,看起來我無法得到一個http://stackoverflow.com/questions/11961248/setting-an- onchange-event-when-the-browser-reloads我認爲這是這種情況 – 2012-08-15 01:59:42