javascript - 将文本从文本字段复制到文本区域+标签

标签 javascript jquery html copy

[已解决] 我有一个脚本可以将文本从文本字段复制到文本区域。我的问题是如何升级此脚本以便将标签复制到?或者我能否以某种方式在字段值之前添加额外的文本?

这是我的 HTML:

<label>Input1: </label> <input type="text" name="i1" class="entry" id="field_1" value="" /> <br />
<label>Input2: </label> <input type="text" name="i2" class="entry"  id="field_2" value="" /><br />
<label>Input3: </label> <input type="text" name="i3" class="entry"  id="field_3" value="" /><br />
<label>Input4: </label> <input type="text" name="i4" class="entry"  id="field_4" value="" /><br />
<label>Input5: </label> <input type="text" name="i5" class="entry"  id="field_5" value="" /><br /><br />

<input type="button" name="b" value="copy" /><br /><br />

<textarea class="box" name="t" rows="5"> </textarea>

还有这个:

<script type="text/javascript">
$( document ).ready(function() {
$("input:button").click(function() {
    var values = "";
    $("input:text").each(function(i) {
        values += (i > 0 ? "\n" : "") + this.value;
    });
    $("textarea").val(values);
});
});
</script>

编辑:如果某些文本字段为空,是否有任何方法可以不显示文本?

我添加了 if(this.value.length > 1) 并且当按下复制时它显示“未定义”。

最佳答案

尝试

$( document ).ready(function() {
    $("input:button").click(function() {
        var values = "";
        $("input:text").each(function(i) {
            var text=$(this).prev("label").text();
            values+=text+"  " ;
            values +=  (i > 0 ? "\n" : "") + this.value;
        });
        $("textarea").val(values);
    });
});

DEMO

关于javascript - 将文本从文本字段复制到文本区域+标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176895/

相关文章:

Javascript如何按字符串的数值对对象数组进行排序

javascript - 使用ajax和php时如何防止在服务器端多次提交上传

html - 如何在 Iframe 中启用对 Plotly-Dash 应用程序的响应?

jquery - 使用 jQuery Mobile 时,禁用 JavaScript 时如何处理样式?

javascript - 当 body 中的类存在时阻止 .on click。\

javascript - GM_setClipboard(和其他 GM 函数)在 Firefox 中给出错误,但在 Chrome/Tampermonkey 中没有给出错误?

html - CSS从div中删除宽度

javascript - 从动态创建的窗口下载​​文本文件

javascript - 如何隐藏 HTML 源代码中的元素?

javascript - 如何从js获取Chrome命令行开关