如何书写带 id 的 form_hidden() ?
手册中有$data = array(
'name'=> 'John Doe',
'email' => 'john@example.com',
'url' => 'http://example.com'
);
echo form_hidden($data);
我希望有包含 id 的,例如在
<input type="hidden" name="name" value="John Doe"id="myid"/> 我是新手,不要笑我哦。只是我不明白你为什么要给一个隐藏的元素加ID,给人一个看不到的元素加上ID你要做些什么呢。如果非要加ID的话,建议不要使用CI的写法,直接写成HTML代码就好了 本帖最后由 qi_ruo 于 2010-11-15 02:07 编辑
回ls: 给一个隐藏的域加上ID主要还是在使用javascript方便点,
比如使用ajax提交表单时,当然不用id用其他方法获取元素也是可以的。
使用默认的form_hidden()加不了id,可以自己扩展一下
if ( ! function_exists('form_hidden'))
{
function form_hidden($name, $value = '', $id = '', $recursing = FALSE)
{
static $form;
if($recursing === FALSE)
{
$form = "\n";
}
if(is_array($name))
{
foreach($name as $field)
{
form_hidden($field, $field, isset($field) ? $field : '', TRUE);
}
return $form;
}
if(! is_array($value))
{
$form .= '<input type="hidden" name="'.$name.'" value="'.form_prep($value, $name).'"'.($id ? ' id="'.$id.'"' : '').' />'."\n";
}
else
{
foreach($value as $k => $v)
{
$key = (is_int($k)) ? '' : $k;
form_hidden($name.'['.$key.']', $v, $id ? $id.'_'.$k : '', TRUE);
}
}
return $form;
}
}
使用:
(1)单个
echo form_hidden('name', 'Joe');
<input type="hidden" name="name" value="Joe" />
echo form_hidden('name', 'Joe', 'myid');
<input type="hidden" name="name" value="Joe" id="myid" />
(2)多个
$data = array(
array('name', 'Joe', 'myid'),
array('email', 'joe@example.com', 'myemail'),
array('url', 'http://exmple.com')
);
echo form_hidden($data);
<input type="hidden" name="name" value="Joe" id="myid" />
<input type="hidden" name="email" value="joe@example.com" id="myemail" />
<input type="hidden" name="url" value="http://exmple.com" />
(3)数组
echo form_hidden('name', array('aa', 'bb', 'cc'), 'name');
<input type="hidden" name="name[]" value="aa" id="name_0" />
<input type="hidden" name="name[]" value="bb" id="name_1" />
<input type="hidden" name="name[]" value="cc" id="name_2" /> 你很适合写《使用手册》:)
请问上面那个函数加在那里? 回复 3# qi_ruo
哥们两点还没睡呀?太牛了 可以直接修改system/helpers/form_helper.php里的form_hidden()函数,但修改了源码不太好,最好还是使用扩展,新建 application/helpers/MY_form_helper.php文件,把函数写进去,使用的话,还是老样子,可以参考下文档:http://codeigniter.org.cn/user_guide/general/helpers.html 本帖最后由 julia 于 2010-11-19 15:05 编辑
多谢qi_ruo
将上面的form_hidden保存在application/helpers/MY_form_helper.php
-----------controllers
$this->load->helper('form');
echo " myhidden ".$this->input->post('myhidden');
------------views
start <?php echo form_hidden('myhidden','abc'); ?> end
------------结果?
start nn end 本帖最后由 qi_ruo 于 2010-11-19 15:34 编辑
因为代码里的换行符拷不上来 请把上面代码里的"n" 改为 "\n" 一共有两处 当时没注意 见谅 换了2处
\n
没了nn, 但也没有获得
abc 因为是hidden类型的input, 肯定看不到啊,需要右击->查看源文件查看
页:
[1]
2