埋め込みフォームの表示フィールドにURLパラメータから値をセットする
件名のように、埋め込みフォームにURLパラメータをセットする必要が出てきたので
こう実装しましたよという備忘録です
セットする部分はjQuery使ってます
【通常の埋め込みコード】
<script src="//mk.as-1.co.jp/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1227"></form>
<script>MktoForms2.loadForm("//mk.as-1.co.jp", "118-QIN-675", 1227);</script>
【パラメータをフォームにセットするための埋め込みコード】
<script src="//mk.as-1.co.jp/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1227"></form>
<script>
MktoForms2.loadForm("//mk.as-1.co.jp", "118-QIN-675", 1227);
MktoForms2.whenReady(function(form){
$("#セットしたいフィールドのid").val(getParam("パラメータのキー"));
});
function getParam(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
</script>
getParam関数は
https://www-creators.com/archives/4463
のサイトから拝借してます。
そもそもこの機能使えば実現できるよとか、
もっと簡単な方法あるよ、というのがあれば教えてください。