Javascriptで、フィールドを編集不可にすることは可能でしょうか?
別フィールドの入力値を条件にしてフィールドを編集不可にしたいため、Javascriptで実現する必要があると考えています。
Javascriptで、フィールドを編集不可にすることは可能でしょうか?
別フィールドの入力値を条件にしてフィールドを編集不可にしたいため、Javascriptで実現する必要があると考えています。
こんにちは。
Javascriptでフィールドを編集不可にすることは可能です。
この記事のように、ラジオボタンの値によって、
フィールドの編集不可を制御するカスタマイズの解説があるので、ぜひ参考にしてみてください。
「フィールドの入力不可をボタンで完全制御」
https://developer.cybozu.io/hc/ja/articles/200306919
wenxit1218様
ありがとうございます。
フォームブリッジで実現したいのですが、ご案内いただいた記事の方法で、フォームブリッジでも編集不可を実現できますでしょうか?
こちらの手元で確認した限りでは、kintoneと同じ記述では実現できませんでした。
nagayama様
失礼しました。フォームブリッジの場合、
書き方は違いますが、仕組み的には近いイメージでフィールドの編集不可を実現できると思います。
JavaScriptカスタマイズのchangedイベントを使って、
「別フィールドの入力値 = 特定の値」の時に、編集不可にしたいフィールド(例えば文字列の一行)に、
「disabled=“disabled”」属性を追加することで、編集不可にすることができると思います。
一例ですが、こんなイメージになるかと思います。
(function() {
"use strict";
// 「文字列 __1行__ 1」のフィールドが変更された時
fb.events.fields.文字列 __1行__ 1.changed = [function (state) {
// 「文字列 __1行__ 1」のフィールドの値がtestの場合、「文字列 __1行__ 2」を編集不可にする
if (state.record.文字列 __1行__ 1.value === "test") {
var inputElement = document.querySelector('[data-vv-name="文字列 __1行__ 2"] > *');
inputElement.setAttribute("disabled", "disabled");
}
return state;
}];
})();
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。