当前位置: 首页 > 面试题库 >

如何使用JavaScript从文本框控件中获取选定的文本

赫连华皓
2023-03-14
问题内容

我有一个文本框和一个链接按钮。当我写一些文本时,然后选择其中一些,然后单击链接按钮,必须在文本框中显示一个带有消息框的文本。

我该怎么做?

当我单击下面的文本框的“提交”按钮时,消息框必须显示Lorem ipsum。因为在该区域中选择了“ Lorem ipsum”。

如果我从页面中选择任何文本并单击“提交”按钮,则该文本有效,但如果我将文本写入文本框并使其成功,则无效。因为当我单击到另一个空间时,文本框的选择被取消。

现在的问题是,当我从文本框中选择一个文本并单击任何其他控件或空格时,仍必须选择选定的文本。

怎么做?


问题答案:

好的,这是我的代码:

function ShowSelection()
{
  var textComponent = document.getElementById('Editor');
  var selectedText;

  if (textComponent.selectionStart !== undefined)
  {// Standards Compliant Version
    var startPos = textComponent.selectionStart;
    var endPos = textComponent.selectionEnd;
    selectedText = textComponent.value.substring(startPos, endPos);
  }
  else if (document.selection !== undefined)
  {// IE Version
    textComponent.focus();
    var sel = document.selection.createRange();
    selectedText = sel.text;
  }

  alert("You selected: " + selectedText);
}

问题是,尽管我为IE提供的代码在许多站点上都有提供,但我无法使其在我当前系统上的IE6副本上正常工作。也许它将对您有用,这就是为什么我给它。
您寻找的技巧可能是.focus()调用,它可以将焦点返回给textarea以便重新激活选择。

[更新]我通过onKeyDown事件得到了正确的结果(选择内容):

document.onkeydown = function (e) { ShowSelection(); }

所以代码是正确的。同样,问题是单击按钮即可获得选择…我继续搜索。

[更新]使用li标记绘制的按钮没有成功,因为当我们单击它时,IE会取消选择先前的选择。上面的代码使用一个简单的input按钮即可,但是…



 类似资料:
  • 问题内容: 我可以使用以下代码来获取选定的文本: 但是,如何获取包含文本和html标签的选定HTML? 问题答案: 在IE <= 10浏览器中,它是: 在非IE浏览器中,我只是尝试玩这个游戏……这似乎奏效,将节点分成两半并产生额外的跨度会产生副作用,但这是一个起点: 不幸的是,我似乎无法将节点放回原来的位置(例如,因为您可以从跨度中拉出一半的文本)。

  • 问题内容: 我有一个这样的下拉列表: 如何使用JavaScript获取实际的选项文本而不是值?我可以通过以下方式获得价值: 但不是我想要的。 问题答案: 尝试选项

  • 问题内容: 我希望能够从突出显示的文本部分中获取字符串,我该如何处理? 问题答案: 对于或小部件,您可以使用: 从Python控制台的Entry和Text小部件中获取选定文本的交互式示例: 根据布莱恩·奥克利(Bryan Oakley)的评论: 是可用于所有小部件的通用小部件方法。它并不 总是 从“文本”小部件中获取选定的字符串。可以,但不能保证。它所做的就是得到所谓的“ X”选择(来自tk的X1

  • 我有以下一组复选框: 使用javascript,我如何访问每个项目的文本。例如,对于id=“mensajes\u receptores\u list\u 5”的元素,我想得到文本“Carlos(Admin)”

  • 问题内容: 如何从jQuery 的下拉列表 中获取选定的文本(而不是选定的值)? 问题答案:

  • 我不知道如何从文件中获取特定的文本行。假设文本文件是: 文本文件(标记)的第二行怎么弄?我只需要读就行了,不是编辑就行了。