使用客户端脚本在Ajax HTML编辑器中的光标位置插入文本
我有一个Ajax HTML编辑器,上面有一个下拉列表。 在从下拉列表中选择项目时,我希望将下拉列表中所选项目的文本粘贴到AJAX HTML编辑器中的当前光标位置。使用客户端脚本在Ajax HTML编辑器中的光标位置插入文本,html,ajax,editor,cursor,position,Html,Ajax,Editor,Cursor,Position,我有一个Ajax HTML编辑器,上面有一个下拉列表。 在从下拉列表中选择项目时,我希望将下拉列表中所选项目的文本粘贴到AJAX HTML编辑器中的当前光标位置。 有什么想法吗?是的,在第三天结束的时候,我终于找到了解决问题的办法,把它贴在这里,这样有人就可以在那里节省重新发明轮子的宝贵时间 这是我的Ajax ATML编辑器: <Ajax:Editor ID="EdtrHTML" runat="server" /> 在我的例子中,我的Ajax编辑器在一个更新面板中,因此在部分回发后
有什么想法吗?是的,在第三天结束的时候,我终于找到了解决问题的办法,把它贴在这里,这样有人就可以在那里节省重新发明轮子的宝贵时间 这是我的Ajax ATML编辑器:
<Ajax:Editor ID="EdtrHTML" runat="server" />
在我的例子中,我的Ajax编辑器在一个更新面板中,因此在部分回发后,脚本停止工作,我找到了帮助
希望这对你也有用…干杯 请参阅@jaredhoyt hi,感谢您的回复,但在我的例子中,这是用于文本区域的Ajax HTML编辑器。我尝试了这段代码,给出了在呈现HTML编辑器时get最终创建的TextArea的id。然后它被困在“.focus()”函数中,出现了一个错误,错误是“.focus不受支持,因为控件被禁用或不可访问”对我来说根本不起作用。你能进一步解释一下它的工作原理吗?还有,它是在哪些浏览器上测试的?
$(document).ready(function () {
$('#<%:DropDownID.ClientID%>').change(function () {
var ddltext = $('#<%:DropDownID.ClientID%> option:selected').text();
var ddltext = ' [' + ddltext + '] '
InsertAtCursor(idofHTMLEditorIFrame, ddltext);//Function for Insertion
});
});
function InsertAtCursor(myField, myValue) {
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
else if (myField.selectionStart == 0 || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos) + myValue +
myField.value.substring(endPos, myField.value.length);
}
else {
myField.value += myValue;
}
}