簡體   English   中英

Typo3 Powermail:將表單中的值插入另一個頁面的Powermail輸入字段

[英]Typo3 Powermail: Insert value from form into Powermail input field from another page

我正在開發一個網站,該網站具有一個簡單的表單,該表單由一個輸入字段組成,可以在其中輸入電子郵件地址,以及頁腳中的提交按鈕。 該按鈕指向帶有 Powermail 表單的聯系頁面。 該表單有一個輸入字段,來自頁腳輸入的值將被繼承。

我遇到的問題是我不知道如何將輸入字段中的值從一頁轉移到另一頁的輸入字段。 我注意到的一件事是,如果提交按鈕有一個值,它就會被繼承。 但是,我不知道如何從輸入元素中獲取值。

這是頁腳形式:

<f:form action="email" pluginName="tx_powermail_pi1" controller="Form" method="post" pageUid="26" class="uk-flex">
<div class="uk-width-1-2">
    <f:form.textfield name="tx_powermail_pi1[field][email]" value="{email}" placeholder="Your email ..." <div class="uk-width-1-2">
    <f:form.button type="submit" value="{email}" name="tx_powermail_pi1[field][email]" class="uk-button uk-button-primary button-newsletter">
        Anmelden
    </f:form.button>
</div>
<f:form.hidden value="1" name="tx_powermail_pi1[type]"/>
<f:form.hidden value="1" name="no_cache"/>
</f:form>

這是來自聯系站點的 Powermail 表單,它是如何在頁面上顯示的:

<form data-parsley-validate="data-parsley-validate" data-validate="html5" enctype="multipart/form-data" name="field" class="powermail_form powermail_form_1"
 action="/newsletter?tx_powermail_pi1%5Baction%5D=create&amp;tx_powermail_pi1%5Bcontroller%5D=Form&amp;cHash=838bac372f487bb18decb49eba8a9643#c35" method="post" novalidate="">
<fieldset class="powermail_fieldset powermail_fieldset_1 nolabel">
    …
    <div class="powermail_fieldwrap powermail_fieldwrap_type_input powermail_fieldwrap_email">
        <label for="powermail_field_email" class="powermail_label" title="">
            Email
        </label>
        <div class="powermail_field">
            <input required="required" aria-required="true"
                   data-parsley-required-message="Dieses Feld muss ausgefüllt werden!" data-parsley-trigger="change"
                   data-parsley-error-message="Keine gültige E-Mail-Adresse!" class="powermail_input"
                   id="powermail_field_email" type="email" name="tx_powermail_pi1[field][email]" value=""></div>
    </div>
    <div class="powermail_fieldwrap powermail_fieldwrap_type_submit powermail_fieldwrap_send  ">
        <div class="powermail_field "><input class="powermail_submit" type="submit" value="Absenden"></div>
    </div>
</fieldset>
<input class="powermail_form_uid" type="hidden" name="tx_powermail_pi1[mail][form]" value="1">
</form>

:解決方案是從提交按鈕中刪除名稱屬性。 然后輸入字段的值會被轉移到另一個頁面。

這是代碼現在的樣子:

<f:form action="email" pluginName="tx_powermail_pi1" controller="Form" method="post"
        pageUid="26" class="uk-flex">
    <div class="uk-width-1-2">
        <f:form.textfield id="powermail_field_email" name="tx_powermail_pi1[field][email]" value="{email}"
                          placeholder="Your email ..." type="email"/>
    </div>
    <div class="uk-width-1-2">
        <f:form.button type="submit" class="uk-button uk-button-primary button-newsletter">
            Anmelden
        </f:form.button>
    </div>
    <f:form.hidden value="1" name="tx_powermail_pi1[type]"/>
    <f:form.hidden value="1" name="no_cache"/>
</f:form>

首先,您不必使用 Fluid ViewHelpers 來創建您的頁腳表單。 只需使用帶有 POST 和一些字段的 HTML 表單。 表單的操作應包含 powermail 表單的 URL。 如果字段使用正確的名稱,powermail 將預填充輸入字段。

此處記錄了如何在 powermail 中預填充字段的更多信息: https ://github.com/einpraegsam/powermail/blob/develop/Documentation/ForAdministrators/BestPractice/PrefillField.md

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM