2017-01-31 83 views
1

我有我在我的網站上使用的嵌入式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>

回答

0

的的Marketo Form object沒有復位功能,但幸運的是,JavaScript在HTML表單元素,例如本地.reset()方法。這個.reset()方法將恢復表單元素的默認值。

話雖如此,.onSuccess()回調中唯一要做的就是獲取HTML表單。調用Marketo Form對象的.getFormElem()方法將爲我們提供jQuery封裝的表單元素,因此最終我們得到表單節點,我們可以在其上調用.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> 

注:好事是,所有重要的隱藏的字段(例如:formidmunchkinId)將保持不變。