Сбросить форму Marketo после отправки

У меня есть встроенная форма Marketo, которую я использую на своем сайте.

Когда я нажимаю submit, я хочу, чтобы форма возвращалась в исходное состояние.

Что мне нужно добавить в мой код для этого, и еще лучше, где я могу найти это в документации Marketo?

Вот мой текущий код

<script src="//app-sjg.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm"></form>
<script>
  MktoForms2.loadForm("//app-sjg.marketo.com", "819-OWT-537", 1404);
</script>
<script>
  MktoForms2.whenReady(function (form){
    form.onSuccess(function(values, followUpUrl){
      $('#confirmform').modal('show');
      return false;
    });
  });
</script>


person Krang    schedule 31.01.2017    source источник


Ответы (1)


Объект Marketo Form не имеет функции сброса, но, к счастью, достаточно, javascript имеет такой родной метод .reset() для HTML-элементы формы. Этот метод .reset() восстановит значения элемента формы по умолчанию.

Сказав это, единственное, что нужно сделать в рамках обратного вызова .onSuccess(), — это получить HTML-форму. Вызов метода .getFormElem() объекта Marketo Form даст нам обернутый элемент формы jQuery, поэтому с помощью form.getFormElem()[0] мы, наконец, получим узел формы, на котором мы можем вызвать .reset().

Вот пример кода:

<script src="//app-lon06.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm"></form>
<script>
// The fourth argument of the `.loadForm()` can be used as an onReady callback.
MktoForms2.loadForm("//app-sjg.marketo.com", "819-OWT-537", 1404, function(form) {
    form.onSuccess(function(values, followUpUrl){
        // $('#confirmform').modal('show');
        console.log(form);
        // .getFormElem() returns the jQuery wrapped form element
        var formElement = form.getFormElem()[0];
        // .reset() is a native javascript method.
        formElement.reset();

        // If boolean `false` is returned then the visitor 
        // will NOT be forwarded to the follow up page!
        return false;
    });
});
</script>

Примечание: хорошо, что все важные скрытые поля (например: formid и munchkinId) останутся нетронутыми.

person dferenc    schedule 02.02.2018