【问题标题】:copy text in option tag of a form using javascript?使用javascript复制表单选项标签中的文本?
【发布时间】:2009-09-20 00:16:24
【问题描述】:
<select name="products">
    <option value=""> - Choose - </option>
    <option value="01">table</option>
    <option value="02">chair</option>
    <option value="03">book</option>
    <option value="04">car</option>
</select>

我希望能够在选择特定选项时自动复制文本...
例如。如果我选择书,书应该会自动被复制,所以我可以将它粘贴(Ctrl+v)到其他地方..谢谢

【问题讨论】:

  • 复制到剪贴板还是复制到其他字段?
  • 我的意思是复制,用于复制/粘贴...就像我可以在其他地方粘贴(Ctrl+v)一样

标签: javascript html forms


【解决方案1】:

就浏览器兼容性而言,在 Javascript 中复制到剪贴板是一项棘手的任务。最好的方法是使用小闪光灯。它适用于所有浏览器。你可以在this article查看。

不过,只是为了给您一个提示,以下是 Internet Explorer 的操作方法(因为它是最简单的方法):

function copy (str)
{
    //for Internet explorer ONLY!
    window.clipboardData.setData('Text',str);
}

现在您的 select 调用 javascript 函数 onchange 事件。 This event is triggered whenever a new value is selected:

<select name="products" onchange="copy(this.options[this.selectedIndex].innerHTML)">
    <option value=""> - Choose - </option>
    <option value="01">table</option>
    <option value="02">chair</option>
    <option value="03">book</option>
    <option value="04">car</option>
</select>

【讨论】:

  • 好吧,这仅供我个人(管理员控制)使用,不会向用户显示...
  • 还有一件事...非常感谢您的链接
【解决方案2】:

如果“复制”是指提取值,则应为每个选项指定一个 ID 属性。然后,使用如下代码访问它:

bookText = document.getElementById("book").innerHTML;

【讨论】:

  • 不,我的意思是复制,用于复制/粘贴...就像我可以将其粘贴到其他地方一样
  • 这不会发生 onchange 事件。
【解决方案3】:

在 Internet Explorer 中,您可以使用类似于以下的代码将文本复制到剪贴板:

<script type="text/javascript">
 function sendToClipboard(s)
 {
   if( window.clipboardData && clipboardData.setData )
   {
         clipboardData.setData("Text", s);
   }
   else
   {
     alert("Internet Explorer required");
   }
 }

 window.onload = function()
 {
   document.getElementById("products").onchange = function()
   {
     sendToClipboard(this.options[this.selectedIndex].innerHTML);
   };
 };
</script>

FireFox 使启用剪贴板访问变得更加困难(这不是一件坏事)。请参阅 http://kb.mozillazine.org/Granting_JavaScript_access_to_the_clipboardhttps://addons.mozilla.org/en-US/firefox/addon/852?application=firefox&id=852,这是一个插件,可让您配置站点以实现剪贴板功能。

但是,我不知道使用什么代码来完成这项工作。

【讨论】:

  • @halocursed:更新了 window.onload 函数以设置选择元素的 onchange 属性而不是更改。立即尝试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 2014-01-03
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
  • 2019-12-24
  • 2014-04-27
相关资源
最近更新 更多