ある入力項目に対して、カタカナで入力させたいのですが、仮にひらがなで入力された場合でも強制的にカタカナに変換することは可能でしょうか?
JavaScriptでひらがな -> カタカナの変換自体は、こんなロジックで行けますね。
https://qiita.com/mimoe/items/855c112625d39b066c9a
フォームブリッジの場合、設定で「確認画面あり」にしておくと、
確認画面を表示する瞬間にfb.events.form.confirmイベントで文字列変換ができます。
上記サイトにある「hiraToKana」関数を使って手元の環境で試してみたら、こんな感じでうまくいきましたー。
(function() {
'use strict';
function hiraToKana(str) {
return str.replace(/[\u3041-\u3096]/g, function(match) {
var chr = match.charCodeAt(0) + 0x60;
return String.fromCharCode(chr);
});
}
fb.events.form.confirm = [
function(state) {
var kana = state.record.フィールドコード;
kana.value = hiraToKana(kana.value);
return state;
},
];
})();
ただ、これだと英数字や漢字が混じってても普通に通過しちゃうので、
その辺のバリデーションも合わせてやりたい時は、もう一工夫必要だと思います。
頑張ってみてください!
赤座様
お世話になっております。
ありがとうございます。
こちらでもできました!
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。