将文本区域的第一行或前 x 个字符添加到 CF7 的另一个输入字段

Add first line or first x characters of textarea to another inputfield of CF7

我在 Wordpress 上使用 CF7 的联系表。我想使用新输入字段上文本区域字段的第一行或前 x 个字符作为联系表单的主题。 我现在有:

<div class="vacancy_form">
<div class="dt-sc-one-half column first">
[text* text-378 placeholder "Voornaam*"]
</div>
<div class="dt-sc-one-half column">
[text* text-379 placeholder "Achternaam*"]
</div>
<div class="dt-sc-one-half column first">
[email* email-274 placeholder "E-mailadres*"]
</div>
<div class="dt-sc-one-half column">
[tel tel-525 placeholder "Telefoon"]
</div>
<div class="dt-sc-one-column column first">
[textarea* textarea-181 placeholder "Waar gaat uw vraag over?*"]
</div>
<div class="dt-sc-one-column column">
[submit "Verstuur"]
</div>
</div>

所以我想在表单中添加一个隐藏的输入字段,并使用以下短代码将其分配给 CF7 邮件选项卡中的主题:

[hidden invisible-subject]

但之后我就卡住了。我不知道如何将一个输入字段的 'grab'(一部分)输入添加到另一个输入字段。 如有任何帮助,我们将不胜感激!

谢谢。

为此,您应该使用 jQuery。你可以做两件事之一。如果您有权访问,请将其插入到您的主题脚本文件中:

在此,我使用 focusout,它将在用户从文本区域更改焦点时捕获文本。我使用了50个字符,但你可以更改为任何字符。

jQuery(function($){
 $('textarea[name="textarea-181"]').on('focusout', function(){
        let text = $(this).val();
        // Change 50 to number of characters you want to use in the subject.
        let subject = text.substring(0,50);
        $('input[name="invisible-subject"]').val(subject);
    });
});

或者,您可以直接将其插入您的 Contact Form 7 代码中,位于提交按钮下方。它完全一样,但缩小了,所以没有 returns 被 AutoP 函数变成 <p> 的回车。

<script type="text/javascript">jQuery(function($){$('textarea[name="textarea-181"]').on('focusout', function(){let text = $(this).val();let subject = text.substring(0,50);$('input[name="invisible-subject"]').val(subject);});});</script>