私は、単純な連絡先フォームでスパムを阻止するための検証を追加する任務を負っています。ここでの唯一の問題は、すべてのフォーム処理が salesforce.com 側で行われることです。フォームを処理するファイルがないため、単純なフォーム検証を追加することはできません。
フォームのアクションは次のように Salesforce に送信されます。
<form action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
私はいくつかのJavaScript検証を試みましたが、フォームは何があっても送信されます。フォームのアクションを、作成した新しい php ページに変更する必要があると感じています。そこで検証を行うことができます。合格した場合は、何らかの方法でこのフォーム アクションに移動し、フォーム処理を終了するように指示する必要がありますか?
jQuery を使用して非表示のフォーム フィールドのアイデアを試してみました。ここでは、ボットだけが何らかの方法で入力する非表示のフォーム フィールドを配置します。したがって、そのフィールドに値がある場合は、それがスパムであるというアラートを出しますが、これは機能しません! フォームは送信を続けました。
うーん、わからない、助けてくださいありがとう!
=====編集====
ここで何が問題なのですか?
私のボタン
<input type="button" id="submit" value="Submit">
私のjquery
jQuery(ドキュメント).レディ(関数() {
jQuery('#submit').click(function() {
var human = $("#human").val();
if(human == 4 ){
$('#form_submit').submit();
}
else {
alert('Please answer the validation question correctly.');
}
});
});
私のフォームアクション:
<form id="form_submit" action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
そして私の「人間」フィールド:
<input id="human" maxlength="20" name="human" size="30" type="text" />