指定した一覧画面にて、条件検索をしたい

現在一覧を複数使用しております。
今回、一覧画面に【検索】ボタンを追加して、一覧画面毎にこの検索機能を使用したいと考えています。
参考URL:https://qiita.com/sy250f/items/b17f6cbbeb2b862c48a9

しかし、一番上以外の一覧を表示して、【検索】ボタンを押下するとどうしても一番上のデータに対して、検索結果が表示されてしまいます。
自分で指定した一覧に対して、検索を行えないのでしょうか?

search_button.onclick = function () {
// キーワード検索の関数(複数フィールド対応)
var keyword = search_word.value;
if (keyword === “”) {
msg_ary.push(‘検索項目が入力されていません。’);
msg_str = msg_ary.join(‘’);
swal({
title : “検索結果”,
text : msg_str,
icon : “error”
});
} else {
var str_query = “”;
if(keyword !== “”){
str_query = ‘?query=(’;
for (var i=0; i<FIELD_CODE.length; i++){
if (i >= 1){
str_query = str_query + ’ or ‘;
}
str_query = str_query + ‘(’ + FIELD_CODE[i] +’ like “’ + keyword + '”)';
}
str_query = str_query + ‘)’;
}

//検索結果のURLへ
document.location = location.origin + location.pathname + str_query;
// document.location = location.origin + location.pathname + location.search + str_query; ← 表示されている一覧のURLを取得して実行するとエラーとなります
}
};

※指定した一覧のURLを取得して、そこに対してQueryを実行すると下記エラーが出ます。
テンプレートのエラーです。
Code: CB_TE01

 

以下のような感じでviewIdを指定してみてはどうでしょうか。

var viewId;

kintone.events.on('app.record.index.show', function (event) {
   viewId = event.viewId;
});

search_button.onclick = function () {

    // ~略~

        str_query = '?view=' + viewId + '&query=(';

PVさん

ご返事ありがとうございます。
教えて頂いた方法で該当一覧からデータを抽出できました。

ただ、新たな問題が発生してしまいました。
指定の一覧からデータを抽出できるようにはなったのですが、一覧の中で絞り込みの指定をしているのですが
検索ボタン押下時、その絞り込みが消えてしまいます。
絞り込みはどこかにフィールドに保存されているのでしょうか?

もし知っていたら教えて頂けますでしょうか?
よろしくお願いいたします。

絞り込み条件は、kintone.app.getQueryCondition()で取得できます。

検索のinputに戻す場合は、以下のイメージでしょうか。

        let query = kintone.app.getQueryCondition();
        if (!query) {
            return;
        }

        let parameters = query.split('and');

        for (var i = 0; i < parameters.length; i++) {
            if (/検索対象のフィールドコード *=/.test(parameters[i])) {
                document.getElementById('search_word').value = parameters[i].replace(/検索対象のフィールドコード *= *"(.*)?.*"/g, '$1').trim();
            }
        }

 

簡単にやるなら、検索時にsessionStorageに保存し、表示時に復元するとかでしょうか。

https://developer.mozilla.org/ja/docs/Web/API/Window/sessionStorage

PVさん

教えて頂いた方法で実装できました。

ご教授の程、ありがとうございました。