我正在工作的网站,有一个简单的形式,包括一个输入字段,在那里可以输入电子邮件地址,并在页脚提交按钮。按钮指向带有Powermail表单的联系人页。表单有一个输入字段,其中将传递来自页脚输入的值。
我遇到的问题是,我不知道如何将输入字段的值从一个页面传递到另一个页面的输入字段。我注意到的一件事是,如果submit按钮有一个值,它就会被结转。但是,我不知道如何从输入元素中获取值。
这是页脚表单:
<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&tx_powermail_pi1%5Bcontroller%5D=Form&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>已解决:解决方案是从submit按钮中删除name属性。然后将输入字段的值转到另一页。
现在的代码是这样的:
<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>发布于 2022-06-23 13:10:13
首先,您不必使用流体ViewHelpers来创建页脚表单。只需在POST和一些字段中使用HTML表单即可。表单的操作应该包含powermail表单的URL。如果字段使用正确的名称,powermail将预先填充输入字段。
有关如何在powermail中预填充字段的更多信息,请在下面记录:https://github.com/einpraegsam/powermail/blob/develop/Documentation/ForAdministrators/BestPractice/PrefillField.md
https://stackoverflow.com/questions/72726981
复制相似问题