<a href=>でのクエリの指定条件について

お世話になっております。

カスタマイズビューにて、下記のようにHTMLを書いているのですが「クエリ記法が間違っています」とのエラー画面が表示されます。

<base href="https:// ****.cybozu.com/k/123/">
<a href="?query=ドロップダウン in ("A")">A</a>
<a href="?query=ドロップダウン in ("B")">B</a>
<a href="?query=ドロップダウン in ("C")">C</a>

やはり、「ドロップダウン in (“A”)」この部分をUTF-8で表記する以外に方法はないでしょうか。(日本語のほうが編集しやすいので。。。。)

お手数でございますが、ご教授の程、よろしくお願いいたします。

Naoさん
cstapの瀧ヶ平です。

日本語の文字列をURLに使う場合はURLエンコード済みな文字列でなければいけません。

そのため、編集のしやすさを残しつつ日本語のままHTMLを書くのは難しいです

瀧ヶ平様

ご返信ありがとうございます。

やはり、エンコード済みな文字列ではないといけないのですね。

フィールド名を英数字にするなどして対応したいと思います。

ありがとうございました。

HTML5の独自タグ属性「data-*」の中にクエリを書いておき、JavaScriptでhref属性を設定するのはどうでしょうか?

<a data-query=‘ドロップダウン in (“A”)’>A</a>
<a data-query=‘ドロップダウン in (“B”)’>B</a>
<a data-query=‘ドロップダウン in (“C”)’>C</a>

※クエリはダブルクォーテーション(")を使用するので、シングルクォーテーション(')で囲んでいます。

  1. (function(){
  2.     kintone.events.on(‘app.record.index.show’,function(event){
  3.         if (event.viewId !== 0000) { return; }
  4.         var elements = document.getElementsByTagName(‘a’);
  5.         for (var i in elements) {
  6.             var element = elements[i];
  7.             if (!element.href) {
  8.                 if (element.dataset){
  9.                     if (“query” in element.dataset) {
  10.                         element.href = ‘?query=’ + encodeURIComponent(element.dataset.query);
  11.                     }
  12.                 }
  13.             }
  14.         }
  15.     });
  16. })();