笑脸不显示在输入框codeigniter中

问题描述 投票:0回答:1

我正在使用笑脸助手来展示和存放笑脸。笑脸已显示在生成的表格视图中。点击笑脸,相应的文字显示不是笑脸。这是我在图书馆的代码,

 public function get_smiles() 
{
$CI =& get_instance();
$CI->load->helper('smiley');
$CI->load->library('table');
$image_array = get_clickable_smileys('images/smileys/', 'editor-textarea');
$col_array = $CI->table->make_columns($image_array, 8);
$array['smiley_table'] = $CI->table->generate($col_array);
return  $array['smiley_table'];
}

在视野中,

<?php echo smiley_js(); ?>
<textarea name="editor-textarea" class="editor-textarea" id="editor-textarea"><textarea>

<ul>
  <li>
  <?php $smiles = $this->common->get_smiles(); ?>
  <?php echo $smiles; ?>
 </li>

我该如何解决这个问题?

笑脸js

 <script type="text/javascript">
   /*<![CDATA[ */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 = smiley;
            }
        }// ]]>
        </script>
php codeigniter
1个回答
1
投票

经过测试,我发现它正常运行。

您无法将图像添加到文本区域。看看JS,它将添加笑脸的文本版本。例如,你可以看到'%-P'。

<a href="javascript:void(0);" onclick="insert_smiley('%-P', 'editor-textarea')"><img src="assets/images/smileys/tongue_rolleye.gif" alt="tongue rolleye" style="width: 19; height: 19; border: 0;"></a>

根据您的需要,您的工作是在提交时显示笑脸,因此如果它是一个评论部分,例如您需要在页面加载时解析它或通过提交时的AJAX回调。

您需要将表情符号的文本版本转换为正确的图像。你可以用CI function做到这一点。

parse_smileys([$str = ''[, $image_url = ''[, $smileys = NULL]]])

希望这可以帮助。

编辑:这是如何使用它。

echo parse_smileys(':-)', 'assets/images/smileys/');

这是解析你需要存储在哪里的笑脸的文本版本,然后它进入函数,你还需要传递笑脸图像的位置。这是在我的CI程序中工作,单个笑脸已经从上面的代码示例解析。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.