【问题标题】:How to select multiple text fields with one javascript function on one onclick button?如何在一个 onclick 按钮上使用一个 javascript 函数选择多个文本字段?
【发布时间】:2012-08-29 09:50:39
【问题描述】:

我已经在这几个小时了,搜索了无数的论坛。我希望在调用一个函数以应用到带有 onclick 按钮的多个文本字段方面得到一些帮助。现在我有一个工作函数,它将选择给定文本框中的所有文本并将其复制到剪贴板。我需要这个功能才能选择多个框中的所有文本并一键复制所有文本。

HTML 文本框

<form name="data_entry" id="data_frm" action="#">
<table cellspacing="5" cellpadding="3">

<tr><td>Root Cause:</td>
<td><input type="text" size="35" maxlength="250" name="cause" id="txt_cause">
</td></tr>

<tr><td>Actions Taken:</td>
<td><input type="text" size="35" maxlength="300" name="actions" id="txt_actions">
</td></tr>

<!--COPY BUTTON-->            
<td><input type="button" name="clipboard_copy" value="Copy" onClick="javascript:selectcopy('data_entry.caller')"></td>

</table>
</form>

它调用的Javascript代码是

<SCRIPT LANGUAGE="JavaScript">
function selectcopy(fieldid)
{
var field=document.getElementById(fieldid) || eval('document.'+fieldid)
field.select()
if (field.createTextRange)
    {
    field.createTextRange().execCommand("Copy")
    }
}

就目前而言,复制按钮将复制“调用者”文本字段,但我需要它一键复制两个(以及更多字段)。另外,如果可能的话,我需要它在复制时将每个文本字段构造在自己的行上,以便您可以粘贴它并单独注意每一行?提前致谢!

【问题讨论】:

  • 是的.. 我知道我的示例代码中没有“调用者”文本字段,但如果有人可以告诉我如何一键复制“原因”和“行动”字段,我会永远爱他们。
  • 我假设您在单击按钮时需要所有文本字段中的所有文本?

标签: javascript html onclick


【解决方案1】:

获取所有文本字段值并将它们连接起来(在字段之间使用 \n 强制换行),然后对结果字符串使用 execCommand。

【讨论】:

  • 从来没想过,但绝对有道理,我会试试看,明天我回到办公室时看看是否需要!
  • 好吧,我已经将它全部连接到一个不可见的文本框中,以我想要的确切格式,现在我如何让 onclick 函数首先处理这个动作,然后使用我的 javascript选中该框并复制它?
  • 只需将串联操作作为您的 selectcopy 函数的第一行,然后使用您的串联文本框的 id onclick 调用 selectcopy,其余部分保持原样。
  • document.execCommand('copy') 仅适用于 IE。我相信它在所有其他浏览器中都被阻止以防止“剪贴板中毒”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
  • 2013-02-01
相关资源
最近更新 更多