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

Javascript 单击输入区域(多个输入)时自动复制文本,javascript,Javascript,我试图让输入区在用户点击时复制文本。代码本身正在选择正确的文本,但当我添加复制功能时,它不会复制正确的文本。问题是,这是一个模板,网站使用它向网站添加元素(所以多个提交将使用相同的代码) echo'; 回显“”$服务器->状态_文本。“; 回声';回声'; 现场输出: <div class="input-group input-group-sm"> <span class="input-group-addon input-label-online"><i clas

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

echo';
回显“”$服务器->状态_文本。“;
回声';回声';
现场输出:

<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>

在线 的

编辑:看起来我需要通过按钮来做这件事,因为使用“onclick”会使我的网站崩溃。不知道如何使用按钮和没有某种ID系统。如果有帮助,服务器将通过“表”列出。

这应该适用于您:

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

您尝试的代码包含未替换的括号

这适用于多个输入元素:

编辑

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

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

我认为从输入框复制文本是行不通的。你最终想要完成什么?你打算如何处理复制的文本?乍一看,这似乎是一个jQuery可以处理的工作,我不认为有任何必要使用jQuery-execCommand(“复制”)是非常直接的。我认为您只是对引用的元素有问题。你能用你描述的多个元素显示代码示例吗?复制的文本不是给网站的,而是给用户的,所以他们不需要使用右键单击和复制(在服务器的IP部分将显示)。所以总的来说,这是唯一一个带有插件的基本输入组。网站对所有添加到网站的服务器使用相同的代码,并通过“$server->status\u text”获取服务器信息。(我已经在第一篇文章中添加了输出。)我很想知道,如果你使用onclick,一个纯粹的客户端复制/粘贴到剪贴板是如何使你的整个网站崩溃的……我检查了5次是否有任何错误,结果都很好。由于我保存它时没有代码(原样),它工作得很好,但一旦我添加代码,它就给了我错误500。不知道为什么。这没有道理。我只是注意到了我昨天遇到的同样的问题。由于某些原因,当我将此代码添加到该网站时,该网站给了我错误500。但如果我直接将其添加到网站(通过在Chrome中编辑源代码,它将起作用)。也许如果我通过按钮执行,它可能会工作,但再次无法获取代码,因为所有人都在使用ID。如果不查看您的代码,很难提供帮助,但错误500看起来像语法错误。。。
echo '<input type="text" onclick="this.select(); document.execCommand(\'Copy\');" value="' . $server->address . (($server->connection_port != '25565') ? ":" . $server->connection_port : null) . '">';