首先让我说明我是Javascript的初学者,并尝试通过阅读不同类似的解决方案来构建自己的代码。
我正在marketo中创建一个2步验证,第一步检查潜在客户是否已知,步骤2如果已知潜在客户,则检查他们的电子邮件地址是否来自接受域以继续(例如,仅来自域名的引导.com被允许继续。)
我首先创建了一个验证登录页面,我创建了一个表单并隐藏了提交按钮,创建了一个富文本字段并设置了一条错误消息(针对未知潜在客户)。
然后创建了一个启用了预填充的隐藏电子邮件字段
然后在我选择的表单设置中,如果已知导致'选项并在自定义HTML中,添加以下逻辑
<script>
var allowedEmail = '@marketo.';
if (allowedEmail.indexOf(mktoPreFillFields.Email) != -1) {
window.location.replace("http://www.example.com/Valid_Email.html");}
else {
window.location.replace("http://www.example.com/Invalid_Email.html");}
</script>
但是它不起作用,任何已知的领导(使用marketo.com或任何其他公认的电子邮件)都会进入Invalid_Email页面,任何想法?
答案 0 :(得分:1)
应该是相反的。
目前,您正在检查 @marketo。是否包含(例如) example@marketo.com。
您应该检查 example@marketo.com 是否包含 @marketo。。
var allowedEmail = '@marketo.';
if (mktoPrefillFields.Email.indexOf(allowedEmail) != -1) {
window.location.replace("http://www.example.com/Valid_Email.html");
}
else {
window.location.replace("http://www.example.com/Invalid_Email.html");
}
答案 1 :(得分:1)
我认为k应该是(mktoPreFillFields.Email.indexOf(allowedEmails)!= -1