用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3260|回复: 3
收起左侧

[HELP] Call to undefined function smiley_js(),怎么办???

[复制链接]
发表于 2010-9-8 21:38:35 | 显示全部楼层 |阅读模式
代码是直接复制手册里面的例子的,下载了表情,路径都对了,就是这个方法说找不到,不知道在哪能够引用进这个方法,
控制器代码如:
<?php
class Smileys extends Controller {
function Smileys()
{
  parent::Controller();
}

function index()
{
  $this->load->helper('smiley');
  $this->load->library('table');
  
  $image_array = get_clickable_smileys('http://127.0.0.1/blog/smileys/', 'comments');
  $col_array = $this->table->make_columns($image_array, 8);  
   
  $data['smiley_table'] = $this->table->generate($col_array);
  
  $this->load->view('smiley_view', $data);
}

}
?>
视图代码如:
<html>
<head>
<title>Smileys</title>
<?php echo smiley_js(); ?>
</head>
<body>
<form name="blog">
<textarea name="comments" id="comments" cols="40" rows="4"></textarea>
</form>
<p>Click to insert a smiley!</p>
<?php echo $smiley_table; ?>
</body>
</html>
如果屏蔽了echo smiley_js(),则点击表情没有效果;
麻烦各位大哥帮忙解决下,小弟在此感激不胜。。。。。。
发表于 2010-9-9 01:19:52 | 显示全部楼层
有 $this->load->helper('smiley'); 就应该可以用,不可以用也许是 BUG,如确定是 BUG,欢迎到 http://bitbucket.org/ellislab/codeigniter/issues?kind=bug 提交。
发表于 2010-9-9 06:25:46 | 显示全部楼层
我用FIRE FOX 使用这个类没有显示问题;
使用IE时就无法显示表情了;
 楼主| 发表于 2010-9-9 14:05:20 | 显示全部楼层
回复 2# Hex


已经解决了smiley_js(),这个问题了,这个方法是在1.7.2的版本才有的,我用的是1.6.3,但当我用1.7.2测试时,发现点击表情没法插入,还报告了js代码出错,js代码如下:
<html>
<head>
<title>Smileys</title>
<script type="text/javascript" charset="utf-8">   
    var smiley_map = {};
    function insert_smiley(smiley, field_id) {
     var el = document.getElementById(field_id), newStart;
   
     if ( ! el && smiley_map[field_id]) {
      el = document.getElementById(smiley_map[field_id]);
     
      if ( ! el)
       return false;
     }
   
     el.focus();
     smiley = " " + smiley;
     if ('selectionStart' in el) {
      newStart = el.selectionStart + smiley.length;
      el.value = el.value.substr(0, el.selectionStart) +
          smiley +
          el.value.substr(el.selectionEnd, el.value.length);
      el.setSelectionRange(newStart, newStart);
     }
     else if (document.selection) {
      document.selection.createRange().text = text;
     }
    }</script>
</head>
<body>
<form name="blog">
<textarea name="comments" id="comments" cols="40" rows="4"></textarea>
</form>
<p>Click to insert a smiley!</p>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><a href="javascript:void(0);"><img src="http://127.0.0.1/72/smileys/grin.gif" width="19" height="19" alt="grin" style="border:0;" /></a>

有报错有,text没有定义,还没有smiley没有定义又直接使用了,真想不明白,麻烦帮忙解一下。

本版积分规则