No.5138, No.5137, No.5136, No.5135, No.5134, No.5133, No.5132[7件]

不勉強なもので、恥ずかしながらご提案いただいたJavaScriptを利用する方法がまったく理解できず、申しわけありません😥🙇♀️
カテゴリIDを使うか、今のままIF文を使うかして、対応しようと思います。
汎用いいねボタンツールにメッセージ送信機能がついて公開される日を、楽しみに待っていますね!
お忙しい中、本当にありがとうございました。 26日前(土 15:37:52) 回答/返信

カテゴリ名が欲しい場合は、HTMLを含む内容を一旦JavaScriptで受け取って、HTMLタグだけを除外して使えば良いのではないかと思います。例えば、
<script>
let htmlstr = '[[CATEGORYLINKS:T]]';
let plainText = htmlstr.replace(/<[^>]*>/g, "");
</script>
……とすれば、変数plainTextにカテゴリ名がプレーンテキストで入ります。
後は、この変数の中身を指定の要素に送るなり、フォーム自体をJavaScriptで生成するなりすれば良さそうに思います。(たぶん後者の方が簡単でしょう。同一ページ内に複数のフォームが現れる可能性があるのなら特に。)
この方法なら、カテゴリ名の間に挿入されるカンマ記号を取り除いたり他の文字に変換したりもできますから、より望みの文字列に加工できるでしょう。
なお、[[INFO:NOWCAT:NAME]] ※ は外側スキン用の記法なので、これを使いたい場合は、一旦外側スキン側でJavaScriptを使ってプレーンテキストにした上で、その変数を内側スキンで使う……というような感じにする必要がありますから、内側スキンで[[CATEGORYLINKS:T]] ※ を使う方が良いと思います。JavaScriptを使えば、親カテゴリ名を取り除く加工もできますから、お好きなように加工なされば良いと思います。
27日前(金 15:19:00) 回答/返信

にししさんが整理してくださった三点ですが、概ね合っています。
現状、IF文では
<input type="hidden" name="entry.固有番号" value="作品名">
のタグをカテゴリごとに作っているのですが、それでは何話目に対する感想なのかが分からないのです。
また、作品数が多いので、HTMLに書き込むIF文も増えてあまり見栄えがよろしくありません。
そのため、value=""部分に作品名(カテゴリ名)と第何話([[COMMENT:TITLE]])なのか、自動で挿入されるとありがたいと思った次第です。
今日もいろいろと試していたのですが、昨日の書き込みに誤りがあったことに気づきました。
[[INFO:NOWCAT:NAME]]ではなく、[[CATEGORYNAMES]] でした。失礼いたしました。
skin-onelog.htmlにフォームタグを置いているのですが、value=""部分に[[CATEGORYNAMES]][[COMMENT:TITLE]]と入力すると、class名が付与されるため添付した画像のようになってしまいます。しかも、カテゴリ名は親と子(モザイク部分)が併記されています。
この状態でも送信はできるものの、届いたメールのタイトルは「<span class=」となっています。
これは、skin-cover.htmlにフォームタグを置いて、value=""部分に[[INFO:NOWCAT:NAME]]を入力した場合も、同様です。ただし、[[COMMENT:TITLE]]は無効になっているものの、カテゴリ名の表示(モザイク部分)は希望のものです。
以上のことから、[[INFO:NOWCAT:NAME]]で取れるカテゴリ名と、[[COMMENT:TITLE]]で取れる情報が、プレーンテキストの形で出力された上で併用できれば、望む形になるのではないかと思います。
とはいえ、IF文で「value="作品名[[COMMENT:TITLE]]"」にしておけば、望む情報は送られてくるので、単純にHTMLの見栄えを良くしたいというわがままです。
もし、IF文を使わずに済む方法や工夫があれば、教えていただけると幸いです。

