数値フィールドの数字キーボード設定

こちら(リンク)を実装し、数値フィールドに入力する際に数字キーボードがデフォルトで表示する動作は確認出来ました。

PC版にもコードの「mobile.」を取り除き実装しており、日本語入力が制御されていることも確認しました。

が、サブテーブルを利用しており、行を追加すると追加された行の数値フィールドには上記設定が適用されません。(下図)

 

コード掲載します。

コピペで利用しているためコードに書かれている仕様についてはよく分かっていません。

サブテーブルの追加時のイベントは別に記載が必要なんでしょうか?

jQuery.noConflict();
(function($) {
 "use strict";
   kintone.events.on(["app.record.edit.show",
                      "app.record.create.show"], 
                    
    function(event) {
      $('.gaia-ui-decimal-input-input input').attr('type', 'number');
    return event;
    });
})(jQuery);

やまだ 様

こんにちは。

こちらは、新規作成画面、又は更新画面へ遷移した時に一度だけ動くようになっています。

ですので、その後のサブテーブルの変化に対しては変更はされないようですね。

変更内容としては、change イベントを追加して、サブテーブルの変化に対して対応するようにすれば良いかと思います。

新屋 育男様

回答ありがとうございます。

こちら2行追加してみたんですが、追加画面・編集画面の表示時も作動しなくなりました。

やはり2017年時点のものなのでアップデートで動作しなくなった可能性も考えられるでしょうか?

jQuery.noConflict();
(function($) {
 "use strict";
   kintone.events.on(["app.record.edit.show",
                      "app.record.create.show",
                      "app.record.edit.change.テーブル",
                      "app.record.create.change.テーブル"], 
                    
    function(event) {
      $('.gaia-ui-decimal-input-input input').attr('type', 'number');
    return event;
    });
})(jQuery);

やまだ様

こんにちは。

私の方でも動作確認してみましたが、特に以上なく想定の動きをしました。

考えられることは、changeイベントの対象であるサブテーブルのフィールド名が違うのではないかと思います。

もう一度、サブテーブルのフィールド名を確認して頂ければと思います。

やまだ 様

申し訳ございません。

> こちら2行追加してみたんですが、追加画面・編集画面の表示時も作動しなくなりました。

上記について触れていませんでした。

jQuery が読み込まれていない可能性はないでしょうか?

読み込まれていたとしても、やまだ様が作成された js ファイルより先に jQuery が先に読み込まれるようになっている必要があります。

こちらも同じく確認をして頂ければと思います。

新屋 育男様

>読み込まれていたとしても、やまだ様が作成された js ファイルより先に jQuery が先に読み込まれるようになっている必要があります。

こちら、 jQueryを上 にすることでモバイル・PCともに動作いたしました。

 

他にも問い合わせていたところがあり、そちらからjsファイルを上にするようにアドバイスを頂いていたのでわざわざ上下入れ替えておりました・・・

お手数お掛け致しました。

新屋様、本当にありがとうございます。