Formの必須項目 * を別の文字にする方法
マルケトのフォームでフィールドを必須項目にすると*が付きます。
「*を別の文字に変えたい」という要望をたまに頂戴しますので
今日はForm2.0の機能とちょっとしたJavaScriptで変更する方法をご紹介します。
Form2.0とは
フォームを作成して承認すると「埋め込みコード」を発行できますが
この「埋め込みコード」をカスタマイズすることで様々な機能を追加することができます。
Forms 2.0 » Marketo Developers
こちらのデベロッパーページにサンプルもございますので、いろいろとお試しください。
変更方法
<script src="//app-demo.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1000"></form>
<script>MktoForms2.loadForm("//app-sj14.marketo.com", "000-AAA-000", 1000);</script>
<script>
MktoForms2.whenReady(function (form) {
for(var i = 0; i < document.getElementsByClassName("mktoAsterix").length ; i++){
document.getElementsByClassName("mktoAsterix")[i].innerText = "●"
}
});
</script>
このコードを使ってフォームをページに埋め込むと

↓

*が●に変更になりました。
また、上記のスクリプトの"●"の部分を置き換えると別の文字にも変更できます。
<script src="//app-demo.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1000"></form>
<script>MktoForms2.loadForm("//app-sj14.marketo.com", "000-AAA-000", 1000);</script>
<script>
MktoForms2.whenReady(function (form) {
for(var i = 0; i < document.getElementsByClassName("mktoAsterix").length ; i++){
document.getElementsByClassName("mktoAsterix")[i].innerText = "必須"
}
});
</script>

CSSとか使ってバリエーションを増やして、お互いにシェアできたらいいですね!
※注意点:フォームに変更を加える場合は、お客様自身の責任でお願いします。