将剪贴板中的多行文本粘贴到 PHP 形式的多行中

Paste from clipboard multiple lines of text into multiple lines in PHP form

我正在尝试找到一种方法将剪贴板中的项目粘贴到 php 表单中。 Essietnailly 不必逐行复制到表格中。

例如,如果我的剪贴板中有:

莎莉·苏萨兹
SSSusaze@gmail.com
304-506-7054

并希望能够一次性将该信息粘贴到此表单中:

我该怎么办?我知道创建一个从表单复制内容的按钮很容易,但理想情况下我想要一个将剪贴板粘贴到表单中的按钮(如上所述)

这是复制按钮的示例:https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_copy_clipboard2

这是表单的代码片段(上图)

if (in_array((int) $tpl['option_arr']['o_bf_include_name'], array(2,3)))
            { 
                ?>
                <p>
                    <label class="title"><?php __('lblBookingName'); ?></label>
                    <span class="inline-block">
                        <input type="text" name="c_name" id="c_name" class="pj-form-field w400<?php echo $tpl['option_arr']['o_bf_include_name'] == 3 ? ' required' : NULL; ?>" />
                    </span>
                </p>
                <?php
            }
            if (in_array((int) $tpl['option_arr']['o_bf_include_email'], array(2,3)))
            {
                ?>
                <p>
                    <label class="title"><?php __('lblBookingEmail'); ?></label>
                    <span class="inline-block">
                        <input type="text" name="c_email" id="c_email" class="pj-form-field w400<?php echo $tpl['option_arr']['o_bf_include_email'] == 3 ? ' required' : NULL; ?>" />
                    </span>
                </p>
                <?php
            }
            if (in_array((int) $tpl['option_arr']['o_bf_include_phone'], array(2,3)))
            { 
                ?>
                <p>
                    <label class="title"><?php __('lblBookingPhone'); ?></label>
                    <span class="inline-block">
                        <input type="text" name="c_phone" id="c_phone" class="pj-form-field w400<?php echo $tpl['option_arr']['o_bf_include_phone'] == 3 ? ' required' : NULL; ?>" />
                    </span>
                </p>
                <?php
            }
            if (in_array((int) $tpl['option_arr']['o_bf_include_notes'], array(2,3)))
            { 
                ?>
                <p>
                    <label class="title"><?php __('lblBookingNotes'); ?></label>
                    <span class="inline-block">
                        <textarea name="c_notes" id="c_notes" class="pj-form-field w500 h120<?php echo $tpl['option_arr']['o_bf_include_notes'] == 3 ? ' required' : NULL; ?>"></textarea>
                    </span>
                </p>
                <?php
            }

谢谢!

要从剪贴板中获取字符串,请查看 this article

然后:您需要找到一些方法来确定复制值的哪些部分进入哪种形式。我认为在换行符上拆分对上面的示例有效,但是如果它们的顺序不同怎么办?要检查这一点,您可能需要一个正则表达式。

然后,由于每个输入都有一个 ID,您可以 select 该元素并更改其值。一个可能的解决方案:

let infoArray = string.split('\n') 
document.getElementById('c_name').value = infoArray[0]