Проверьте текстовое поле в форме Marketo для приемлемых URL

У меня есть форма Marketo с одним полем с именем sharedURL. Я установил это как текстовое поле, потому что поле URL слишком ограничено, так как у вас может быть гость, это поле, которое позволяет людям вводить URL. Поле должно принимать только определенные домены, прежде чем перейти к определенной целевой странице. Предположим, что единственными приемлемыми доменами являются www.marketo.com, http://www.marketo.com/, https://www.marketo.com/ т. Д. (Все варианты домена). Я посмотрел на несколько предлагаемых решений на различных внешних сайтах и ​​маркетинговых сайтах, но не смог настроить код под мои требования. Это то, что я получил (вставил в HTML в шаблоне управляемой целевой страницы), мои данные формы и поля (если это необходимо). Мое решение не сработало... любая помощь приветствуется....

"Id": 6466, "Имя":"sharedURL","Datatype":"строка","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 ответов

Другие вопросы по тегам