我尝试过使用此示例来阻止我的网页上的垃圾邮件,但是当我测试它并将文本放在字段中时,我的提交按钮仍在发送表单。我为我的网站使用formit。
我们的想法是创建一个隐藏字段,如果spambot在隐藏字段中插入了某些内容,则不会发送任何电子邮件。
有问题的例子
代码片段
<input type="hidden" name="workemail" value="" />
[[!FormIt? &validate=`workemail:blank`]]
我正在使用那里的确切代码,下面的代码是我的字段 - 我确保字段在标记内。
<input type="hidden" name="workemail" value="[[!+fi.workemail]]" />
我的伪造代码看起来像
[[!Formit?
&hooks=`spam,FormItSaveForm,email,redirect`
&redirectTo=`122`
&formName=`Contact Form`
&formFields=`fname,title,company,email,options,subject,message`
&emailTpl=`fi-contact_email`
&emailSubject=`[[*contact_email_subject]]`
&emailTo=`[[*contact_email_to_address]],candelari@hgp.com`
&emailFrom=`[[*contact_email_from_address]]`
&emailFromName=`[[*contact_email_from_name]]`
&emailReplyTo=`[[+email]]`
&submitVar=`contactform`
&validate=`workemail:blank,
fname:required,
email:email:required,
message:stripTags,
username:blank`
]]
感谢任何帮助,谢谢!
答案 0 :(得分:0)
也许以下内容可以解决:
0)首先,更新MODX和FormIt extra并重试。
1)如果问题仍然存在,请尝试从[[!+fi.workemail]]
属性中删除value
。
<input type="hidden" name="workemail" value="" />
2)如果上一步没有帮助,请在表单中添加另一个字段。所以,它应该是:
<input type="hidden" name="workemail" value="" />
<input type="hidden" name="nospam:blank" value="" />
3)同时尝试从标记和formit调用中删除workemail
内容,而是添加
<input type="hidden" name="nospam:blank" value="[[+fi.nospam]]" />
或者,请查看其他选项,例如ReCaptchaV2