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

时间:2018-07-11 22:06:16

标签: javascript php forms clipboard copy-paste

我正在尝试找到一种方法,将clipbaord中的项目粘贴到php表单中。不必将一行一行地复制到表单中。

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

Sally Susaze
SSSusaze@gmail.com
304-506-7054

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

enter image description here

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

这是复制以下按钮的示例: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
            }

谢谢!

1 个答案:

答案 0 :(得分:0)

要从剪贴板中获取字符串,请签出this article

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

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

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