2017-01-31 3 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フォームオブジェクトの.getFormElem()メソッドを呼び出すと、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> 

注:ここでは

は、サンプルコードで良いことは、すべての重要な隠されたフィールドが(例えば: フォームIDmunchkinId)はそのまま残りますこと、です。

関連する問題