サポート » 使い方全般 » 絞り込み検索でチェックしているものを別枠に即表示させたい

  • 解決済 d.w.c

    (@dwc-1)


    【js】フォームの内容を特定の要素に即反映
    ここで紹介されているように、絞り込み検索のチェックボックスで選択されたり、フリーテキストで入力されたものを指定のエリアに選択中項目として表示させたいです。

    サンプルにある方法のjQueryのはうまく動かなかったので、「普通のjsの場合」というのを適用し、以下のように書きました。

    
    [HTML 既存の絞り込み検索]
    
    <?php 
    $s = $_GET['s'];
    $post_tag_language = $_GET['post_tag_language'];
    ?>
    <form method="get" id="searchform" action="<?php echo home_url( '/' ); ?>" class="kensaku">
    	<input type="hidden" name="post_type" value="house">
    	<p>
    	<div class="search-box">【フリーワード】:
    		<input class="search" type="text" value="<?php if (!empty($_GET['s'])) echo esc_attr($_GET['s']); ?>" name="s" id="s">
    		<button id="searchsubmit" class="btn-search"><img alt="検索" width="32" height="20" src="<?php echo get_template_directory_uri(); ?>/images/icon/icon-btn-search.png"></button>
    	</div>
    	</p>
    	
    <ul id="search" class="accordion">
    		<?php
    		$taxonomy_name = 'tax-language';
    		$taxonomys = get_terms($taxonomy_name);
    		if(!is_wp_error($taxonomys) && count($taxonomys)):
    		echo '<li class="switch';
    			if($post_tag_language) { echo' open';}//チェックがあればアコーディオン開く
    		echo '">【対応言語】</li>';
    		echo '<li class="contentWrap">';
    		    foreach($taxonomys as $taxonomy):
    			    if($post_tag_language){ $key_language = in_array($taxonomy->slug, $post_tag_language);}
    		        $tax_posts = get_posts(array('post_type' => get_post_type('house'), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) );
    		        if($tax_posts):
    		?>
    		<label><input type="checkbox" name="post_tag_language[]" value="<?php echo $taxonomy->slug; ?>"<?php if($key_language){ echo ' checked'; } ?>><?php echo $taxonomy->name; ?></label><br>
    		<?php
    		        endif;
    		    endforeach;
    		    echo '</li>';
    		endif;
    		?>
    </ul>
    
        <p><input type="submit" value="検索" /></p>
        
    </form>
    ※実際の検索項目はもっとありますが、一部抜粋です。
    
    ===
    
    [HTML 選択中項目出力先]
    
    <div id="sOutput">
        【出力欄】
        <br />
        テキスト:<span id="OutputText"></span>
        <br />
        言語:<span id="Output_lang"></span>
    </div>
    
    ===
    
    [search_output.js 書き換えたもの]
    
    window.onload = function () {
        getValue();
        var $formObject = document.getElementById( "searchform" );
        for( var $i = 0; $i < $formObject.length; $i++ ) {
            $formObject.elements[$i].onkeyup = function(){
                getValue();
            };
            $formObject.elements[$i].onchange = function(){
                getValue();
            };
        }
    };
    function getValue() {
        var $formObject = document.getElementById( "searchform" );
    
        //input[name=text]
        document.getElementById( "OutputText" ).innerHTML = $formObject.s.value;
    
        //input[name=checkbox] ※自力
        document.getElementById( "Output_lang" ).innerHTML = ''; //いったん中身を削除
            for(var $i = 0; $i<$formObject.post_tag_language.length;$i++) { //複数checkedされていることもあるので、forでまわす(まわさないと1番目のしか取れない)
            if($formObject.post_tag_language[$i].checked) {
                document.getElementById( "Output_lang" ).innerHTML += $formObject.post_tag_language[$i].value + ' ';
            }
        }
    }

    しかしこのままではエラーを吐いて動作しません。
    Chromeデベロッパー・ツールで確認すると下記のようなエラー内容でした。

    Uncaught TypeError: Cannot read property ‘length’ of undefined
    at getValue (search_output.js:21)
    at window.onload (search_output.js:2)

    絞り込み検索のHTMLにあるinputタグの中身を
    name=”post_tag_language[]”
    から
    name=”post_tag_language”
    に書き換えれば選択中項目欄への出力はできたのですが、そうすると検索機能自体が動かなくなってしまいます。

    逆にjsファイルの中の
    $formObject.post_tag_language[$i].

    $formObject.post_tag_language[][$i].
    のように書き換えると
    search_output.js:21 Uncaught SyntaxError: Unexpected token ]
    と別のエラーが出てjsが動きません。

    どこをどのように書き換えれば、検索機能を維持したまま、選択中項目を別枠表示することができますか?

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック投稿者 d.w.c

    (@dwc-1)

    また、jsの中身が
    document.getElementById( "Output_lang" ).innerHTML += $formObject.post_tag_language[$i].value + ' ';
    だと選択されているタクソノミーのスラッグを拾ってきてしまうのですが、これを名前を拾うようにするにはどう書き換えればいいですか?

    すみません、簡単そうなんですが、調べきれずに相談しています。

    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    LABE

    (@latobeam)

    コードが長くて把握しきれていませんが、すぐに思いついた点を。
    (HTMLとJSで分けていただけると多少は読みやすくなるかと)

    <input> 要素の name 属性の値における [] は、GETパラメータを多次元配列の形にするのに使われます。
    そしてその中身は配列のキー名にあたります。
    たとえばHTMLが

    <input type="checkbox" name="aaa[bbb]" value="ccc">

    だと、PHPでは以下のようになります。

    $_GET['aaa']['bbb'] = 'ccc';

    この [] 内が空だと当然うまくいかないと思います。
    それぞれの要素ごとに適当な名前を与えてみてください。
    JSでは for ループ内の i という変数をキーとして取得しているようなので、HTMLのキー名はこれと合わせなければなりませんが。

    トピック投稿者 d.w.c

    (@dwc-1)

    返信ありがとうございます。
    HTMLとJSを分けてみました。

    HTML

    [HTML 既存の絞り込み検索]
    
    <?php 
    $s = $_GET['s'];
    $post_tag_language = $_GET['post_tag_language'];
    ?>
    <form method="get" id="searchform" action="<?php echo home_url( '/' ); ?>" class="kensaku">
    	<input type="hidden" name="post_type" value="house">
    	<p>
    	<div class="search-box">【フリーワード】:
    		<input class="search" type="text" value="<?php if (!empty($_GET['s'])) echo esc_attr($_GET['s']); ?>" name="s" id="s">
    		<button id="searchsubmit" class="btn-search"><img alt="検索" width="32" height="20" src="<?php echo get_template_directory_uri(); ?>/images/icon/icon-btn-search.png"></button>
    	</div>
    	</p>
    	
    <ul id="search" class="accordion">
    		<?php
    		$taxonomy_name = 'tax-language';
    		$taxonomys = get_terms($taxonomy_name);
    		if(!is_wp_error($taxonomys) && count($taxonomys)):
    		echo '<li class="switch';
    			if($post_tag_language) { echo' open';}//チェックがあればアコーディオン開く
    		echo '">【対応言語】</li>';
    		echo '<li class="contentWrap">';
    		    foreach($taxonomys as $taxonomy):
    			    if($post_tag_language){ $key_language = in_array($taxonomy->slug, $post_tag_language);}
    		        $tax_posts = get_posts(array('post_type' => get_post_type('house'), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) );
    		        if($tax_posts):
    		?>
    		<label><input type="checkbox" name="post_tag_language[]" value="<?php echo $taxonomy->slug; ?>"<?php if($key_language){ echo ' checked'; } ?>><?php echo $taxonomy->name; ?></label><br>
    		<?php
    		        endif;
    		    endforeach;
    		    echo '</li>';
    		endif;
    		?>
    </ul>
    
        <p><input type="submit" value="検索" /></p>
        
    </form>
    ※実際の検索項目はもっとありますが、一部抜粋です。
    
    ===
    
    [HTML 選択中項目出力先]
    
    <div id="sOutput">
        【出力欄】
        <br />
        テキスト:<span id="OutputText"></span>
        <br />
        言語:<span id="Output_lang"></span>
    </div>

    jsファイル

    
    [search_output.js 書き換えたもの]
    
    window.onload = function () {
        getValue();
        var $formObject = document.getElementById( "searchform" );
        for( var $i = 0; $i < $formObject.length; $i++ ) {
            $formObject.elements[$i].onkeyup = function(){
                getValue();
            };
            $formObject.elements[$i].onchange = function(){
                getValue();
            };
        }
    };
    function getValue() {
        var $formObject = document.getElementById( "searchform" );
    
        //input[name=text]
        document.getElementById( "OutputText" ).innerHTML = $formObject.s.value;
    
        //input[name=checkbox] ※自力
        document.getElementById( "Output_lang" ).innerHTML = ''; //いったん中身を削除
            for(var $i = 0; $i<$formObject.post_tag_language.length;$i++) { //複数checkedされていることもあるので、forでまわす(まわさないと1番目のしか取れない)
            if($formObject.post_tag_language[$i].checked) {
                document.getElementById( "Output_lang" ).innerHTML += $formObject.post_tag_language[$i].value + ' ';
            }
        }
    }

    LABEさんのアドバイスとしては、phpの方に書いてあるname="post_tag_language[]"の [] の中に何か記入する必要があるということでしょうか?

    ちなみに、絞り込み検索機能は「絞り込み検索をプラグインを使わずに実装:タグまたはカスタムタクソノミーで絞り込むチェックボックス」
    というのを参考に作成していまして、そこに書かれているコードだと [] の中身は空白のままなので、そのままにしていました。

    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    トピック投稿者 d.w.c

    (@dwc-1)

    ためしにphpの方に$iiでカウントを追加してみました。

    		<?php
    		$taxonomy_name = 'tax-language';
    		$taxonomys = get_terms($taxonomy_name);
    		$ii='';
    		if(!is_wp_error($taxonomys) && count($taxonomys)):$ii++;
    		echo '<li class="switch';
    			if($post_tag_language) { echo' open';}//チェックがあればアコーディオン開く
    		echo '">【対応言語】</li>';
    		echo '<li class="contentWrap">';
    		    foreach($taxonomys as $taxonomy):
    			    if($post_tag_language){ $key_language = in_array($taxonomy->slug, $post_tag_language);}//チェック保持用変数
    		        $tax_posts = get_posts(array('post_type' => get_post_type('house'), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) );
    		        if($tax_posts):
    		?>
    		<label><input type="checkbox" name="post_tag_language[<?php echo $ii ;?>]" value="<?php echo $taxonomy->slug; ?>"<?php if($key_language){ echo ' checked'; } ?>><?php echo $taxonomy->name; ?></label><br>
    		<?php
    		        endif;
    		    endforeach;
    		    echo '</li>';
    		endif;
    		?>

    これでも検索機能は使えるようですが、このあとjsにはどういった変更を加えればいいでしょうか?
    $formObject.post_tag_language[$ii]
    $formObject.post_tag_language[$ii][$i].
    では

    Uncaught ReferenceError: $ii is not defined
        at getValue (search_output.js?ver=4.7.3:21)
        at window.onload (search_output.js?ver=4.7.3:2)

    というエラーになり、
    $formObject.post_tag_language[$i]
    $formObject.post_tag_language[$i][$i].
    では

    Uncaught TypeError: Cannot read property '0' of undefined
        at getValue (search_output.js:21)
        at window.onload (search_output.js:2)

    というエラーになります。

    • この返信は7年、 2ヶ月前にd.w.cが編集しました。

    私も部分的になってしまうのですが、とりいそぎご利用中の状態を鑑みてこれ以上自力で進むべきかどうかを判断いただけたらと思います。
    まず解決すべきとしている問題はおそらくほとんどの比重をJavascriptに置くものではないかと思います。
    即時反映、枠の意味するところが理解できておりませんが、フォームの動作を読み込みなしに別の要素に反映させたいという意図で選択されたものかなと思っております。

    そこで、現状をたしなめるだけになってしまいますがご紹介いたします情報について理解が先に進める様であれば別途Javascriptについてご研鑽を積まれてみるのもよいのではと思います。

    まず要素の指定なのですが、どこのデータをどこに入れるかということをはっきりさせるため名前づけをするのですがタグは
    ID と NAME のプロパティがあります。IDは絶対的なものでページに一つである必要があります。複数あると動作しません。
    NAME はグループ化することができグループ化したものは配列として取得することができます。ラジオボタンは同グループ内で一つしかチェックできないなどの
    動作を自動化することもできます。
    ここで、NAMEは配列が可能なので @latobeam さんの仰られている配列構造になるのですが、配列の指定で[]は存在する要素に追加していく指定方法になります。
    インテグサを必要とせずインクリメントしていくので、すでに配列に3つ要素のはいっている変数に 変数[]=”A” とすると四つ目の要素がAになります。
    順序などを気にせずなんでも配列構造に代入したいときに使います。

    この時点でご注意いただきたいのですが、引き渡したい要素は数量が変更になる(テキストボックスの個数がユーザーの都合によって増減する)ことがあるものでしょうか。
    固定の数量であるならばIDを利用して絶対的な要素に引き渡した方が確実かと思います。

    そしてそのNAMEとIDの要素なのですが、これを指定するのに document 要素内から IDの要素を探す という命令 getElementById をご利用の様子ですが
    これで探せるのは IDで名づけられた要素です。 NAME に同じ名前があってもなくても見つけられません。

    ここまでで、POSTする要素を構成する団体はID で自由気ままに組んで、最終NAME で整形してPOSTするとよいのでは、とお考えになられたら次に進まれるとよいかと思います。

    進まれる折、お気づきになられれば幸いなのですが getElementById があるということはgetElementByNameやgetElementsByClassNameもあるのではないかと、そうなんです。
    それぞれの配列になる、指示側からみて1対多であるから発信はできても受信はできなさそうだな、と連想いただけるとなおありがたいのですが、用途と特徴がことなります。
    今回およびその他多く使われる「代入動作の補助」としての指定には IDが適しており今回もIDで的中だと思います。

    繰り返しになりますが例として「色」という項目について条件が4色といった分岐になるとき、色プロパティの色素要素の指定となればNAMEで色配列に各色データをいれて
    ON/OFFをプロパティづけする必要がでてきて、これにはNAMEが適だろうと思います。

    ここまでは大丈夫でしょうか。

    そこでJSコードについてなのですが


    //searchform という名前のフォームを丸ごとオブジェクト化して取得 msio
    var $formObject = document.getElementById( "searchform" );
    //取得した要素の個数を上限にiを加算ループ msio
    for( var $i = 0; $i < $formObject.length; $i++ ) {
    //フォームの中にある要素全部にアクションを付与 msio これはちょっと無茶じゃないかと…個人の感想です
    //ほんとに全部の全要素にアクションが必要でしょうか msio
    $formObject.elements[$i].onkeyup = function(){
    getValue();
    };
    $formObject.elements[$i].onchange = function(){
    getValue();
    };
    }
    };


    //OutputText という要素の「タグ内(innerHTML)」にデータを挿入 msio
    //.value(テキスト要素のvalueデータ)ではなくタグの起点と終点の間の情報にデータを挿入しています msio
    //innerHTML はspan でくくられた中身を入れ替えたりするのには有用ですがテキストなどの
    //valueレセプタが準備できるものにはvalueで入れるものかと思います。
    document.getElementById( "OutputText" ).innerHTML = $formObject.s.value;

    document.getElementById( "Output_lang" ).innerHTML = ''; //いったん中身を削除
    for(var $i = 0; $i<$formObject.post_tag_language.length;$i++) { //複数checkedされていることもあるので、forでまわす(まわさないと1番目のしか取れない)
    //フォーム内の全部の要素についてチェックのONを確認されていますが
    //フォーム要素のなかにあるものは全部チェック要素でしょうか
    //仮にテキストボックスやボタンがあれば「checked」プロパティが取得できませんので
    //エラー回避にプロパティが取得できなかったときという分岐が必要になります
    if($formObject.post_tag_language[$i].checked) {
    //ここでもタグにはさまれた中身を置き換えています
    document.getElementById( "Output_lang" ).innerHTML += $formObject.post_tag_language[$i].value + ' ';
    }
    }
    }


    //valueに入る
    <input type="text" id="sample" name="samplename" value="---A---" class="sampleclass">
    document.getElementById( "Output_lang" ).value="---A---"

    //タグの間に入る
    <span type="text" id="sample" name="samplename" class="sampleclass">---A---</span>
    document.getElementById( "Output_lang" ).innserHTML = "---A---"

    //ボタンで誘導し制約をかけていますが動作は値の代入です
    <input type="radio" name="sample" value="1">
    <input type="radio" name="sample" value="2" selected>
    <input type="radio" name="sample" value="3">
    document.getElementByName( "sample" ).value = "2"

    ちょっと正しい記述か確認とほかにもまだまだ色々な書き方がありますがとりあえずWordpressかどうかといわれると
    全く関係ないところになってしまいますので割愛をご容赦くださいませ。

    とりいそぎJSの動作概要を把握いただいて、動作の経路について導線が重複しない想定ができてから、はじめてWordpressの
    「なにをうけとり、なにをわたすか」に至るのが効率的にもよいかとおもいますのでご検討いただけますと幸いです。

    トピック投稿者 d.w.c

    (@dwc-1)

    >フォームの動作を読み込みなしに別の要素に反映させたいという意図で選択されたものかな
    その通りです。

    >引き渡したい要素は数量が変更になる(テキストボックスの個数がユーザーの都合によって増減する)ことがあるものでしょうか。
    はい、数量変更の可能性があります。

    ===

    現状、このサンプルのコードですとID要素を使用している部分は、取得した情報を反映させる先の <span> タグを指定するためかと思います。

    困っているのは、情報を取得する元の<input>タグを指定するのが $formObject.要素のNAME というところだと思うのですが、
    サンプルでは<input>タグのNAMEは固定なのですが、現在自分が書いているコードではNAMEが配列になっている部分です。

    jsの側でNAMEが配列でも取得できるようにするか、そもそもphp側のNAMEが配列でなくても絞り込み検索が作動するようにできれば解決なのですが…

    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    トピック投稿者 d.w.c

    (@dwc-1)

    自力解決できました。
    <input>にclassを付け、jsの方ではこのclassを利用して対象を特定するように書き換えてみたところ、動きました。

    これで正解かはわかりませんが…

    [HTML]
    <input class="post_tag_language" type="checkbox" name="post_tag_language[]" value="<?php echo $taxonomy->slug; ?>"<?php if($key_language){ echo ' checked'; } ?>><?php echo $taxonomy->name; ?>
    [js]
    window.onload = function () {
        getValue();
        var $formObject = document.getElementById( "searchform" );
        for( var $i = 0; $i < $formObject.length; $i++ ) {
            $formObject.elements[$i].onkeyup = function(){
                getValue();
            };
            $formObject.elements[$i].onchange = function(){
                getValue();
            };
        }
    };
    function getValue() {
        var $formObject = document.getElementById( "searchform" );
        var $post_tag_language = document.getElementsByClassName("post_tag_language"); 
    
        //input[name=text]
        document.getElementById( "OutputText" ).innerHTML = $formObject.s.value;
    
        //input[name=checkbox] ※自力
        document.getElementById( "Output_lang" ).innerHTML = ''; //いったん中身を削除
            for(var $i = 0; $i<$post_tag_language.length;$i++) { //複数checkedされていることもあるので、forでまわす(まわさないと1番目のしか取れない)
            if($post_tag_language[$i].checked) {
                document.getElementById( "Output_lang" ).innerHTML += $post_tag_language[$i].value + ' ';
            }
        }
    }
    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    LABE

    (@latobeam)

    お見事です。
    実は長々と返信を書いていたのですが、その間に解決されたようなので、ちょっと考えたのですが、せっかく書いたので参考程度に書き残すことにします。

    ところで、「解決済み」になっていますが、以下は解決しましたか?

    選択されているタクソノミーのスラッグを拾ってきてしまうのですが、これを名前を拾うようにするにはどう書き換えればいいですか?

    ====================

    俺の回答に対するご返信についてですが、

    name="post_tag_language[]"[] の中に何か記入する必要があるということでしょうか?

    その通りだったのですが、この中身を省略しても良いというのは俺の理解不足でした。
    (そのリンク先は最初にお示しいただきたかったです)
    PHP側の foreach ループで name="post_tag_language[]" を繰り返し生成しているので、HTMLソース内の順番で0から連番として扱われる、ということだと思います。
    一方JS側では for ループで0から順番にチェックボックスを取得しています。
    そこで、トピックの最初の投稿にあるエラーですが、

    Uncaught TypeError: Cannot read property ‘length’ of undefined
    at getValue (search_output.js:21)

    $formObject.post_tag_languagelength というプロパティはない、という意味です。
    このあたり、あまり詳しくないので恐縮ですが、HTMLの name 属性が配列であっても、JSにおいては特別扱いされないのではなかろうかと思います。
    HTMLに post_tag_language という name 属性値はありません。あるのは post_tag_language[] です。
    ですから、JS側では $formObject.post_tag_language[].length とでもしなければならないのでしょうが、これはこれでエラーが出るのではないでしょうか。

    search_output.js:21 Uncaught SyntaxError: Unexpected token ]

    ] はJSでも配列のキーを示す特別な文字なので、JSのコード内にそのまま書くと問題がある、とでもいうのでしょうか。

    • この返信は7年、 2ヶ月前にLABEが編集しました。
    トピック投稿者 d.w.c

    (@dwc-1)

    >LABE さん

    いろいろ考えてくださり、ありがとうございます。
    以前参照元のリンクを複数挿入してスレッドを立ち上げたところ、スパムと判定されて投稿できなかったことがあったので外部リンクに神経質になっていました。
    すみません。

    選択されているタクソノミーのスラッグを拾ってきてしまう件については現状ではまだ解決していません・・・

    LABE

    (@latobeam)

    タームの(スラッグではなく)名前は <label> の中にあるもののことだと思いますが、これをJSの for ループで一緒に取得することで実現できるでしょう。
    とはいえ、現状では <label> の中に <input> も入っているので、これを分離すれば楽になります。
    <label>for 属性を使えば、 <label><input> を入れ込まなくても両者を関連付けることができます。

    <input id="checkbox1" ...><label for="checkbox1">ターム名</label>

    このように <input> に id を付け、それと同じ値を <label>for 属性に指定します。
    id は重複さえなければ適当でいいですが、連番で付ければいいでしょう。
    幸いにも foreach の中ですので、 foreach ( $taxonomys as $key => $taxonomy ) { とすれば $key が連番っぽくなります。
    さらに <label> に class を付け、JSで <input> と同じように取得すればよいと思います。

    // 追加: <label> を取得
    var $post_tag_language_label = document.getElementsByClassName("post_tag_language_label");
    // 中略...
    // 置換: for ループ
    for(var $i = 0; $i<$post_tag_language.length; $i++) {
        if($post_tag_language[$i].checked) {
            document.getElementById("Output_lang").innerHTML += $post_tag_language_label[$i].textContent + ' ';
        }
    }

    なお、本来ならばJSにおいて <input><label> の対応を確実にしておくべきなのですが、今回は <input><label> は過不足なく1:1対応であろうことを念頭に置いています。

    • この返信は7年、 2ヶ月前にLABEが編集しました。理由: 一部訂正
    トピック投稿者 d.w.c

    (@dwc-1)

    <input>にalt属性を付けて、jsで呼び出しているテキストのターゲットをvalueからaltに切り替えることで解決できました。
    検索機能の関係でvlueにタクソノミーのスラッグを指定しているので、valuをターゲットにしているjsでスラッグを拾ってくるのは当たり前でした…orz

    [html]
    <label>
    	<input type="checkbox" class="post_tag_campaign" name="post_tag_campaign[]" value="<?php echo $taxonomy->slug; ?>" alt="<?php echo $taxonomy->name; ?>"<?php if($key_campaign){ echo ' checked'; } ?>>
    	<?php echo $taxonomy->name; ?>
    </label>
    [js]
    $Output_language.innerHTML += $post_tag_language[$i].alt + ' ';
    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
    • この返信は7年、 2ヶ月前にd.w.cが編集しました。
11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「絞り込み検索でチェックしているものを別枠に即表示させたい」には新たに返信することはできません。