キンコミ kintone user community

みんなの投稿

2022/06/10 13:28

こんにちわ、アイデアがあればご教示ください。文字列(1行)のフィールドに文字数制限をかけています。具体的には40字までです。ところがキーインは40字を超えてどこまでも入ります。そして保存の時に「41文字より短くなければなりません。」とエラーではじかれます。ユーザーの希望は、「40字を超えて入力しようとするときにキーインできないようにして欲しい」です。何か手がないでしょうか。

2件のコメント (新着順)
Drunkard
2022/06/14 11:27

koichiさん、ありがとうございます!イケました。あとはこのjQueryを変更して、複数フィールドに適用するようにしてみます。

DOM操作が気にかかりますが・・・

JavaScriptでやればできるかもしれませんね!


Drunkard
2022/06/10 14:08

フィールド値変更イベントを拾って、そのフィールドの文字数 > 40を監視するんですね?

Drunkard
2022/06/10 15:39

このサイトに載せるべきではないと思いますが、したことを・・・
ダメでした。

(function () {
"use strict";
const events = [
'app.record.create.change.文字列',
'app.record.edit.change.文字列'];
kintone.events.on(events, function(event) {
var rec = event.record;

    var st = rec['文字列'].value;
    if ( st.length > 10 ) {
        alert('10文字を超えました!');
     }
    //
    return event;
});

})();

10文字で試しました。

きったんさん、ありがとうございました。

Drunkard
2022/06/13 15:57

この方法で10文字を超えると、たしかにアラートが出ますが、この入力フィールドを抜け出た後に出ます。リアルタイムじゃあないんですよね~。

koichi
開発
2022/06/13 16:29

この辺りの記事が近しいと思います(実際に試せてはいません)。
いずれもcybozu developer networkの投稿です。

keyupで文字数制限をしたい

入力中の文字のバイト数をリアルタイムで表示するカウンターを設置したい