如何解决扩展Kohana 3.1中的核心类
| 我已经在application / classes / form.PHP中编写了文件form.PHP <?PHP defined(\'SYSPATH\') or die(\'No direct script access.\');
class Form extends Kohana_Form {
public static function input($name,$value = NULL,array $attributes = NULL) {
// Set the input name
$attributes[\'name\'] = $name;
// Set the input value
$attributes[\'value\'] = $value;
if (!isset($attributes[\'id\'])) {
$attributes[\'id\']= $value;
}
if (!isset($attributes[\'type\'])) {
// Default type is text
$attributes[\'type\'] = \'text\';
}
return \'<input\' . HTML::attributes($attributes) . \' />\';
}
}
?>
当我使用form :: input时,此函数正在调用,但未在element上应用id属性。
我的代码有什么问题?
使用范例
echo form::input(\'date\',$cd->year );
o / p
<input type=\"text\" name=\"date\">
解决方法
尝试过您的代码,它按预期工作。仔细检查
$value
参数(在您的情况下为$cd->year
)不是NULL
。
HTML::attributes()
将跳过具有NULL
值的属性;您的自定义输入法会添加一个等于value的id,因此,如果value为NULL
,则id也会太大,并且不会呈现为属性。
,尝试这个;
class Form extends Kohana_Form {
public static function input($name,$value = NULL,array $attributes = NULL)
{
if ( empty($attributes[\'id\']))
{
$attributes[\'id\']= $name; // not value
}
return parent::input($name,$value,$attributes);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。