フリガナについて | Community
Skip to main content
チーム_まるけと担当
July 17, 2019

フリガナについて

  • July 17, 2019
  • 1 reply
  • 146 views

はじめまして。初めてこちらに投稿します。2つ質問があります。

1)フォーム作成をしています。氏名や社名のフリガナを入力する欄を設けたいのですが、入力する文字をカタカナに限定することは可能でしょうか? (現在は、漢字/ひらがな/カタカナなど入力する方の任意で選べてしまう状況です。)Marketoさんはご出身が海外だから無理かな・・と思いつつ質問させて頂きます。

2)社名読み仮名をカタカナで入力していただいた場合、スマートリストで検索できるようになるのでしょうか?現在、社名検索が上手くいかず、なんとかしたいです。。

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

1 reply

Taishi_Yamada
Level 6
July 17, 2019

@花 かき さん、こんにちは、

質問投稿ありがとうございます

1)フォーム作成をしています。氏名や社名のフリガナを入力する欄を設けたいのですが、入力する文字をカタカナに限定することは可能でしょうか?

できる、できない。で言えば「(JavaScriptを組み合わせれば)できます」ですね。Marketoの機能として直接実装されてはいません。独自にJavaScriptを書き足して制御してあげる必要があります。MarketoのLP/Formは容易にJavaScriptを書き足すことができるので、独自の拡張を阻害することはないですね。そういう点ではLP/Formの機能拡張はやりやすいですね。たしかに、Formを伴うツールで、独自のJavaScriptを書き足すことが出来ないツールもよく見かけますが、Marketoは可能です。

具体的な手段としては、「JavaScriptを独自に書いてください」という回答になってしまいますが、もしかしたら、他のユーザーで「やってみましたよ」という声を誰かが上げてくれる・・・・・かも(という完全他力本願w)。

Formの入力制限ということでは、実は海外でも似たようなことはあるので、おそらく海外のCommunityでも似たような実装の話はあったような気がします(もちろん、「ひらがな限定」ではなくて、別の限定ですけれど)。

2)社名読み仮名をカタカナで入力していただいた場合、スマートリストで検索できるようになるのでしょうか?

単純に、「社名カナ」といったフィールドを新設して、そのフィールドに値を入れておく。ということになるので、その「社名カナ」として作成したフィールドを使ってSmart Listで「○○を含む(contain)」といったことでFilterしてもらえれば出てくると思います。ただ、単純な文字列のマッチなので、「あ~お を含む」ではなくて「あ or い or う or え or お を含む」みたいな指定にはなりますが。

ちなみに、弊社では社名フリガナは、アイデアとしては出たことありますが、実装はしてませんね(使わない&カナの入力を強いるだけの有益なことが無いと判断)。

以上、ご参考までに。

-Yamada

チーム_まるけと担当
July 18, 2019

Yamadaさま、ご丁寧なご回答ありがとうございます!とても助かりました。

貴社での例もお教え下さり、ありがとうございます。参考にさせて頂きます!

KyokoKazama
Level 2
June 18, 2022

こんにちは。株式会社ウィルオブ・コンストラクションの風間と申します。

ひらがな以外が入力されたときにアラートを表示するコードを書いてみました。

下記を御社用に差し替えれば動作すると思います。

よろしければご参考にどうぞ。

 

2行め:フォームのid

4行め:loadForm後のカッコ内

5行め:querySelectorAll後の対象のinputのID ※今回は2つですが増やせます

 

 

<main id="js-form" class="form_wrapper"> <script src="//ma.sekokan-navi.jp/js/forms2/js/forms2.min.js"></script> <form id="mktoForm_0000"></form> <script> MktoForms2.loadForm("//〇〇〇.jp", "000-MDO-000", 0000, function (form) { const buttons = document.querySelectorAll("#ID1, #ID2") for (elm of buttons) { elm.addEventListener("input", ev => { if (ev.target.value.match(/^[\u3040-\u309f]+$/)) { const alert = document.getElementById('hiraganaAlert'); alert.remove(); }else{ ev.target.value = ""; ev.target.insertAdjacentHTML('afterend','<div id="hiraganaAlert" style="color:#ff0000;">ひらがなでお願いします</div>'); } }) } }); </script> </main>