单击输入区域时自动复制文本(多个输入)Javascript

时间:2017-12-06 11:08:54

标签: javascript

当用户点击文本时,我试图获取输入区域来复制文本。代码本身正在选择正确的文本,但是当我添加复制功能时,它不会复制正确的文本。问题是这是一个网站用来向网站添加元素的模板(因此多个提交将使用相同的代码)。

echo '<div class="input-group input-group-sm">';
echo '<span class="input-group-addon input-label-' . strtolower($server->status_text) . '"><i class="fa fa-server" aria-hidden="true"></i>&nbsp;' . $server->status_text . '</span>';
echo '<input type="text" onclick="this.select()" value="' . $server->address . (($server->connection_port != '25565') ? ":" . $server->connection_port : null) . '">';echo '</div>';

现场输出:

<div class="input-group input-group-sm">
<span class="input-group-addon input-label-online"><i class="fa fa-server" aria-hidden="true"></i>&nbsp;Online</span>
<input type="text" onclick="this.select()" class="form-control" value="Server IP">
</div>

编辑:看起来我需要通过按钮来执行此操作,因为使用&#34; onclick&#34;正在崩溃我的网站。不知道如何使用按钮和没有某种ID系统。服务器通过&#34; table&#34;列出。如果这有帮助。

1 个答案:

答案 0 :(得分:1)

这应该适合你:

<input type="text" onclick="this.select(); document.execCommand('Copy');" class="form-control" value="Server IP">

您尝试的代码没有转义括号。

这适用于多个输入元素:https://jsfiddle.net/xx0gs6Lw/

修改

那一定只是语法错误,你能发布你的确切代码吗?看起来应该是这样的:

echo '<input type="text" onclick="this.select(); document.execCommand(\'Copy\');" value="' . $server->address . (($server->connection_port != '25565') ? ":" . $server->connection_port : null) . '">';