检查marketo表单中的文本字段以获取可接受的URL

时间:2017-05-09 21:07:15

标签: javascript forms marketo

我有一个名为sharedURL的字段的Marketo表单。我将其设置为文本字段,因为URL字段限制太多,因为您可能拥有guest,它是一个允许人们输入URL的字段。该字段应该只接受某些域,然后再转到定义的登陆页面。让我们假设唯一可接受的域是www.marketo.com,http://www.marketo.comhttps://www.marketo.com等(域的所有变体)。我在各种外部网站和marketo网站上查看了多个建议的解决方案,但无法调整代码以满足我的要求。这就是我得到的(在引导着陆页模板中插入HTML)我的表单和字段详细信息(如果需要)。我的解决方案没有用......任何帮助都赞赏....

"标识":6466,"名称":" sharedURL""数据类型":"串&#34 ;, " MAXLENGTH":512,"

(function() {
  // Domains that can only be used
  var validDomains = [
      'https://info.marketo.com',
      'https://www.marketo.com',
      'http://www.marketo.com',
      'info.marketo.com',
      'www.marketo.com',
    ],
    MktoForms2.whenReady(function(form) {
      form.onValidate(function() {
        var url = form.vals().sharedURL;
        if (url) {
          if (!isurlGood(url)) {
            form.submitable(false);
            var urlElem = form.getFormElem().find("#sharedURL");
            form.showErrorMessage("You must use an approved Domain.", urlElem);
          } else {
            form.submitable(true);
          }
        }
      });
    });

  function isurlGood(url) {
    for (var i = 0; i < validDomains.length; i++) {
      var domain = validDomains[i];
      if (url.indexOf(domain) != -1) {
        return false;
      }
    }
    return true;
  }
})();

0 个答案:

没有答案