matsu
(松本)
1
いつもお世話になっております。
アプリにて、
初期表示B項目をdisabled=trueに設定、
A項目に「あり」が選択された時に、
B項目をdisabled=falseに設定し、errorで「入力してください」とメッセージを表示させたいと思っています。
しかし、error表示は出ますが、disabledがfalseになってくれません。
どうしたらよいでしょうか?
if(record['B'].value == "あり"){
record['A'].disabled=false;
record['A'].error = "入力してください";
}
ko_ji
(ko_ji)
2
こんにちは。
お知らせいただいている内容について、以下の処理については、
app.record.create.show / app.record.edit.show イベントを利用し、
以下の処理については、app.record.create.submit / app.record.edit.submit イベントを
利用して実行していると思います。
イベントの説明ページを確認してもらうとわかるのですが、
保存するときのイベントでは、フィールドの編集可/不可を設定することが
できないです。
なので、disabled=false を設定した場合でも、
フィールドに値が反映されることはないです。
A項目の値が「あり」の場合に、B項目に入力させたい場合、
change イベントを利用して、フィールドの編集可/不可を
設定してあげるしかないかと思いますよ
matsu
(松本)
3
@ko_ji 様
お返事ありがとうございます。
change イベントで行っているのですが、変わらないんです
テーブルの中だからでしょうか?
コード、テーブルの中なので、
tbl[index].value[‘A’].disabled = false;にしております。
ko_ji
(ko_ji)
4
@matsu さん
change イベント使ってたんですね、失礼いたしました 
イベントオブジェクトの、「フィールドにエラーを表示する」を確認してみると、
以下の記載がありました。
フィールドの値の書き換え と 編集可/不可の設定 は、キャンセルされます。
なので、フィールドへのエラー表示と、編集可/不可の設定は、
共存できないみたいです 
A項目の値が「あり」の場合、B項目の入力を必須にしたい場合には、
submit イベントを利用して、エラー表示するしかなさそうです 
matsu
(松本)
5
@ko_ji
調べていただき感謝です!
共存できないんですね…残念です。
submitでエラー表示するしかないですね。
ありがとうございました!
「いいね!」 1