我有一種形式是這樣的:笨表單驗證,重新填充動態添加字段
<form action="" method="post">
<input type="text" name="name[]">
<input type="text" name="name[]">
</form>
<button id="add">Add extra field</button>
而且還有一個可能性,即我已經使用Javascript/jQuery的處理多個輸入:
$('#add').click(function(){
$('form').append('<input type="text" name="name[]">');
}
這裏的一切工作正常。當我提交表格時,我回復echo '<pre>'.print_r($this->input->post(),TRUE).'</pre>';
的數據,我收到了一切。
而我正在使用表單驗證類,所以如果失敗了,我想通過使用set_value
函數來保存這些值。然後,窗體如下所示:
<form action="" method="post">
<input type="text" name="name[]" value="<?=set_value('name[]');?>">
<input type="text" name="name[]" value="<?=set_value('name[]');?>">
</form>
<button id="add">Add extra field</button>
但是...動態添加的輸入不存在,因爲它們是通過Javascript添加的。問題是:如何在代碼驗證失敗後「保留」動態添加的輸入和CodeIgniter的值?
四處搜尋,但沒有找到任何東西:(
你可以回顯提交給控制器的表單數據,檢查是否存在添加到視圖中的所有動態字段。 – MaNKuR 2013-05-01 09:31:14
是的,當我運行'回聲'
';'我得到的一切。 – Roy 2013-05-01 10:49:11還有一件事是這(動態)字段在服務器端進行驗證?你可以嘗試像這樣'value =「<?php echo set_value('name []',$ _ POST ['name []']);?>」' – MaNKuR 2013-05-01 11:18:55