HtmlBox set_text函数什么都不做

时间:2011-05-20 06:58:10

标签: html json jquery-plugins jquery

我的代码有问题吗?这是我从区域

创建文本编辑器的代码
var box;
...

box = jQuery("#text_vesti").htmlbox({
    toolbars:[
            [
                // Cut, Copy, Paste
                "cut","copy","paste",
                // Undo, Redo
                "undo","redo",
                // Bold, Italic, Underline,
                "bold","italic","underline"
            ],
            [
                // Left, Right, Center, Justify
                "justify","left","center","right",
                // Ordered List, Unordered List
                "ol","ul",
                // Hyperlink, Remove Hyperlink, Image
                "link","unlink","image"

            ],
            [// Show code
                "code",
                // Formats, Font size, Font family, Font color, Font, Background
                "fontsize","fontfamily",
            ],
        ],
        skin:"silver",
        icons:"silk"
}); 

它是创建编辑器,一切都好,但是...在某些时刻我必须在编辑器中放置文本来重新编辑文本,我使用这个功能......

    function editujOvo (id){
        editovanje = true;
        id_za_editovanje = id;


        jQuery("#r" + pom).css({"background":"none"});
        jQuery("#r" + id).css({"background":"#dfdfdf"});
        pom = id;

        var podaci = "br=3&id=" + id;
       // alert(podaci);

        jQuery.post("ajax_exe.php", podaci,function(data){
            //alert(data.id);
           // alert(data.naslov);
            alert(data.content);
            document.getElementById("naslov_vesti").value = data.naslov;
            //document.getElementById("text_vesti").value = data.content;
            box=set_text(data.content);
            document.getElementById("date").value = data.datum;

          window.frames["news_page"].location.reload();
        },'json');            
    }

但它没有做任何事情,只是在“set_text”函数告诉我数据存在并且它是正确的形式和所有,但是缺少某些东西......任何想法????

------------第二个问题?在这个版本中,或只是在我的代码中,粗体按钮第一次没问题,但是如果我按它将文本恢复到正常状态,它什么都不做,实际上它会在文本周围再设置一对<b></b>标签(它显示了在HTML预览)..在HtmlBox插件的代码我可以修复此功能....任何一个???? TNX ..

2 个答案:

答案 0 :(得分:0)

set_text被认为是一个全局函数? 我不能定义它和htmlbox插件使用 很好的封装,所以我不认为它具有全局功能。

也许set_text是一个盒子的方法????? 像

box.set_text(data.content);

来自??

的set_text函数在哪里

答案 1 :(得分:0)

从jQuery函数返回存储对象:

textbox = $('#texteditor').htmlbox({
toolbars:{...}
})
// don't do that:
function YourClass(){}
YourClass.prototype = {}
YourClass.prototype.set_htmlbox = function(){
  this.hb = $('#texteditor').htmlbox({
    toolbars:{...}
  })
}

// because you can't in future use this field to Ajax.

var save = {
  icon: 'some.png',
  tooltip: 'Save',
  command: function(){
    // context of this function is window!!!
    // DON'T! IT'S INCORRECT!!!
    // this.hb.get_text()
    // this.post("/save")
    // this.get("/text/1")
  }
}
this.hb = $('#texteditor').htmlbox({
  toolbars:{...,save}
})

但你可能会这样做:

...
var save = {
  icon: 'some.png',
  tooltip: 'Save',
  command: function(){
    YourClass.hb.get_text()
    YourClass.post("/save")
    YourClass.get("/text/1")
  }
}
YourClass.hb = $('#texteditor').htmlbox({
  toolbars:{...,save}
})

或者那样

...
var toolname = 'Save'
var save = {
  icon: 'some.png',
  tooltip: toolname,
  command: function(){
  }
}
this.hb = $('#texteditor').htmlbox({
  toolbars:{...,save}
})
var _this = this  // Save context
this.hb.find('input[title='+toolname+']').unbind('click').bind('bind',function(){
  _this // <- use context
})