2013-02-03 38 views
0

我有nicedit得到areatext作爲編輯器。爲什麼文本添加到頁面刷新areatext,而不是直接

<select id="greetings" name="greetings"> 
     <option value="" selected>Select one </option> 
     <option value="1" onClick="addGreeting('text1'); return false;">text1</option> 
     <option value="2" onClick="addGreeting('text2'); return false;">text2</option> 
     <option value="3" onClick="addGreeting('text3'); return false;">text3</option> 
    </select> 
<textarea name="message" id="message" cols="50" rows="8" ></textarea> 

因此,當用戶選擇選項將自動插入到文本區域。

這裏的JavaScript代碼

bkLib.onDomLoaded(nicEditors.allTextAreas); 

    function addGreeting(text) { 
text = ' ' + text + ' '; 
if (document.sc_form.message.createTextRange && document.sc_form.message.caretPos) { 
    var caretPos = document.sc_form.message.caretPos; 
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; 
    document.sc_form.message.focus(); 
} else { 
document.sc_form.message.value += text; 
document.sc_form.message.focus(); 
} 
    } 

OBS沒有niceditor一切都運行完美,所選擇的選項將被直接插入。 但是只有當我刷新頁面時才插入它。

而我希望文本將被插入而不刷新。

如果有人有興趣有關腳本的順序這裏是我的訂單

<script src="submit.js" language="JavaScript" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/redmond/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script type="text/javascript" src="include/nicEdit-latest.js"></script> 

還有什麼讓我知道,我將它插入,感謝您抽出寶貴的時間與我的代碼。

編輯:

這裏我DEMO JSFIDDLE //這難道不是與編輯器插件工作。

這個DEMO JSFIDDLE //這個作品,未經插件

- 我認爲這個問題是bkLib.onDomLoaded這就是爲什麼,也許文本頁面加載(刷新)插入後,關於如何取代它的任何建議?

+0

你可以插入新的按鈕進入nicedit很容易地你應該考慮是不是 – mikakun

+0

[nicedit](http://nicedit.com /)是一個腳本,它將textarea轉換爲編輯器,我不能在編輯器中添加按鈕。 –

+0

niecdit是一個腳本,我在我的項目中使用&它是真正容易添加cutom按鈕,它讀取api,做你的研究http://wiki.nicedit.com/w/page/516/Creating%20a %20Plugin也可以是任何HTML元素nicedit的作品不只是在文字區域... – mikakun

回答

0

沒有與nicedit沒有問題

nicedit所見即所得的100%的修改在實例的DOM,隱藏你的textarea或任何HTML元素進行編輯

  • 任你學nicedit API和你創建一個自定義按鈕/下拉菜單來追加你的文字

  • 要麼你在改變事件時銷燬實例(.removeInstance()),將你的文本追加到你的可編輯然後重新實例化編輯器

乾淨的解決方案是第一位的,懶惰的解決方案第二