javascript初心者なので、教えてください。
------テーブル-------
1 あいうえお かきくけこ
2 さしすせそ たちつてと
上記のテーブル内容を文字列(複数行)フィールドに
1 あいうえお かきくけこ
2 さしすせそ たちつてと
と転記することは可能でしょうか?
ご教授の程、宜しくお願いします。
javascript初心者なので、教えてください。
------テーブル-------
1 あいうえお かきくけこ
2 さしすせそ たちつてと
上記のテーブル内容を文字列(複数行)フィールドに
1 あいうえお かきくけこ
2 さしすせそ たちつてと
と転記することは可能でしょうか?
ご教授の程、宜しくお願いします。
こんにちは。Teruと申します。
ご要望の機能を実装することは以下の流れで可能です。
①転記のトリガー(ボタン?)が発動
②テーブルの情報を取得
③行数分ループを回して、行数が変わるたびに<br>を挿入
④③のデータを複数行フィールドに挿入
細かいフィールドコード等分かればサンプルをご提供差し上げることも可能です。
宜しくお願いいたします。
Teruさん
こもるーです。お返事ありがとうございます。
可能なのですね!
ただ、スクリプトの組み立てがわからないので、サンプルを頂いても宜しいでしょうか。
フィールドコードは以下になります。
転記したい文字列(複数行)フィールド:内容
対象になるテーブル:まとめ
<以下テーブル内フィールド>
文字列(1行)フィールド:契約者
日付:契約日
ドロップダウンフィールド:有無
文字列:備考欄
チェックボックスフィールド:連絡済
以上となります。お忙しいところ恐縮ではございますが、よろしくお願いいたします。
ひとまず、編集画面を開いたタイミングでテーブル内容を自動転記する形で作りました。
jQuery.noConflict();
(function($) {
"use strict";
kintone.events.on("app.record.edit.show", function(event) {
var record = event.record;
var tableData = record.まとめ.value;
console.log(tableData);
var setData = "";
for(var i=0; i<tableData.length; i++) {
var row = tableData[i].value;
setData += row.契約者.value + " "
+ row.契約日.value + " "
+ row.有無.value + " "
+ row.備考欄.value + " "
+ row.連絡済.value + "";
}
console.log(setData);
record.内容.value = setData;
return event;
});
})(jQuery);
Teruさん
上記ありがとうございます!
テスト環境まで作って頂いて結果もスクリプトも頂いて助かります。
(桜木に目がいったのは言うまでもなく)
上記のスクリプトを頂いて、実際試してみたのですが、どうもうまくいきません。
この中身のスクリプトはTeruさんから頂いたスクリプトに「create」を入れてます。
jQuery.noConflict();
(function($) {
“use strict”;
kintone.events.on(“app.record.edit.show”,“app.record.create.show”, function(event) {
var record = event.record;
var tableData = record.まとめ.value;
console.log(tableData);
var setData = “”;
for(var i=0; i<tableData.length; i++) {
var row = tableData[i].value;
setData += row.契約者.value + " "
return event;
});
})(jQuery);
これで作成をしたのですが、Ctrl+Shift+Iで見たときに、
「Uncaught ReferenceError:jQuery is not defined」とでます。
すみませんが、ご教授願います。
お世話になります。
失礼しました、こちらで如何でしょうか。
createも正しい記述方法に修正して追加しております。
(function() {
"use strict";
kintone.events.on(["app.record.edit.show","app.record.create.show"], function(event) {
var record = event.record;
var tableData = record.まとめ.value;
var setData = "";
for(var i=0; i<tableData.length; i++) {
var row = tableData[i].value;
setData += row.契約者.value + " "
+ row.契約日.value + " "
+ row.有無.value + " "
+ row.備考欄.value + " "
+ row.連絡済.value + "";
}
record.内容.value = setData;
return event;
});
})();
Teruさん
Teruさんありがとうございます。
頂いたスクリプトで出来るようになりました。
何がどうなったのか今わかっていないので、これから調べてみます!
これでやっと前に進めます。
本当にありがとうございました!
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。