我有nicedit以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>
因此,当用户选择选项时,它将自动插入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 :(得分:0)
nicedit没有问题
nicedit,因为100%的wysiwyg在实例化时修改dom,隐藏你的textarea或任何要编辑的html元素
您是否学习了nicedit API并创建了自定义按钮/下拉列表以附加文字
要么在更改事件(.removeInstance()
)后销毁实例,请将文本附加到可编辑然后重新实例化的编辑器
清洁解决方案是第一个,懒惰解决方案是第二个