huang 发表于 2010-9-8 21:38:35

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

代码是直接复制手册里面的例子的,下载了表情,路径都对了,就是这个方法说找不到,不知道在哪能够引用进这个方法,
控制器代码如:
<?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(),则点击表情没有效果;
麻烦各位大哥帮忙解决下,小弟在此感激不胜。。。。。。

Hex 发表于 2010-9-9 01:19:52

有 $this->load->helper('smiley'); 就应该可以用,不可以用也许是 BUG,如确定是 BUG,欢迎到 http://bitbucket.org/ellislab/codeigniter/issues?kind=bug 提交。

sonic 发表于 2010-9-9 06:25:46

我用FIRE FOX 使用这个类没有显示问题;
使用IE时就无法显示表情了;

huang 发表于 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) {
      el = document.getElementById(smiley_map);
   
      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没有定义又直接使用了,真想不明白,麻烦帮忙解一下。
页: [1]
查看完整版本: Call to undefined function smiley_js(),怎么办???