|
发表于 2010-11-15 01:33:48
|
显示全部楼层
本帖最后由 qi_ruo 于 2010-11-15 02:07 编辑
回ls: 给一个隐藏的域加上ID主要还是在使用javascript方便点,
比如使用ajax提交表单时,当然不用id用其他方法获取元素也是可以的。
使用默认的form_hidden()加不了id,可以自己扩展一下
PHP复制代码
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[0], $field[1], isset($field[2]) ? $field[2] : '', 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" /> |
|