質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

2回答

769閲覧

jQueryを利用して一定の画像からリンクした場合、リンク先のチェックボックスにチェックを入れて表示する。(MW_WP_Form) Q&A

makimaki_119

総合スコア0

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/06/24 10:05

編集2021/06/24 10:21

前提・実現したいこと

index.phpにある画像から飛んだ先にあるお問い合わせページに飛んだ際に、お問い合わせページのチェックボックスの1つ目にチェックを入れた状態で表示したい。
また、その他のaタグ等でリンクしたボタンから表示した場合は、チェックを入れずに通常通り表示したい。

画像から飛んだ場合の表示↓

イメージ説明

それ以外のリンクから飛んだ場合の表示↓
イメージ説明

過去似たような内容で質問されている方がいらっしゃいましたので、ご参考までに↓
https://teratail.com/questions/114763

発生している問題・エラーメッセージ

・MW WP Formをショートコードで呼び出しているのですが、それが原因でjqueryが効かないっぽい(?)
・チェックは入るが、どのリンクから飛んでもチェックをされてしまう。

該当のソースコード

PHP

1<!--index.phpです。--> 2<!--通常のリンクボタンです。--> 3<a href="<?php echo home_url('contact'); ?>" target="_blank">お問い合わせ</a> 4 5<!--リンク先のチェックボックスオンにさせる場合のリンク画像です。--> 6<form method="post" action="<?php echo home_url('contact');?>" target="_blank"> 7 8 <input id="banner" type="image" src="<?php echo get_template_directory_uri(); ?>/img/linkimg.jpg" alt=""> 9 10</form> 11 12 13<?php 14get_footer(); 15

PHP

1 2<!--page-contact.phpです。--> 3 4<?php  5get_header(); ?> 6 7 <?php echo do_shortcode('[mwform_formkey key="1"]'); ?> 8 9<?php 10get_footer();

MWWPFORM

1<!--page-contact.phpでショートコードで呼び出すMW_WP_Formの記述です。--> 2 3<dl> 4<dt>内容</dt> 5<dd> 6[mwform_checkbox name="内容" id="selecter1" children="a" ] 7[mwform_checkbox name="内容" id="selecter2" children="b" ] 8[mwform_checkbox name="内容" id="selecter3" children="c" ] 9[mwform_checkbox name="内容" id="selecter4" children="d" ] 10[mwform_checkbox name="内容" id="selecter5" children="e" ] 11[mwform_checkbox name="内容" id="selecter6" children="f"] 12[mwform_checkbox name="内容" id="selecter7" children="g" ] 13</dd> 14</dl>

PHP

1 2<!--footer.phpです。--> 3 4<script> 5jQuery(function($){ 6 $("#banner").on('click',function(){ 7 $("#selecter1-1").prop('checked',true); 8 }); 9}); 10</script> 11//なぜかブラウザで見ると#selecter1が#selecter1-1で表示されるため上記のように指定しています。

有識者の方いらっしゃいましたら、お力添えお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/06/24 10:28

「画像から飛んだ」の意味がわかりません。 <input type="img">を押してsubmitされたときの話でしょうか?
makimaki_119

2021/06/29 01:47

返信遅れてしまい申し訳ないです。 その解釈で間違いありません。
yambejp

2021/06/29 07:52

画像からsubmitしたとき画像.xと画像.yが送られてくるので それをチェックしたのが私の回答ですが、想定と違いますか?
makimaki_119

2021/06/29 09:43

何度も説明不足で申し訳ないです。想定と違いました。 http://example.com/contactという問い合わせのディレクトリに対して2種のアクセス方法を設けています。 1つは通常のaタグからのリンク、もう一つが画像をクリックして繋ぐリンクです。この画像からリンクした場合のみ、/contactの中身であるチェックボックスの1つ目にチェックを入れたいという内容でした。
guest

回答2

0

javascript

1<script> 2const flg=/(?:?|&)(.+?).x=\d+&\1.y=\d+?(?=&|$)/.test(location.search); 3window.addEventListener('DOMContentLoaded', ()=>{ 4 document.querySelector('[type=checkbox]').checked=flg; 5}); 6</script> 7<form> 8<input type="submit" name="x" value="submit"> 9<input type="image" name="img" src="sample.jpg"> 10</form> 11<input type="checkbox"> 12<input type="checkbox"> 13<input type="checkbox">

投稿2021/06/24 11:20

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

色々やり方はありそうだけど、リファラを参照するとか

javascript

1if ( document.referrer == 'http://www.example.com/' ) 2 $("#selecter1-1").prop('checked',true); // http://www.example.com/ から遷移してきた時だけ実行

投稿2021/06/24 10:50

yuki84web

総合スコア1857

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makimaki_119

2021/07/01 07:51

コメントありがとうございます。返信遅れて申し訳ないです。 試してみましたが、上手く通りませんでした。 指定方法に問題があるかもしれませんが、リファラのアドレスを 'http://www.example.com/#banner' で指定しました。 こちらだと間違えていますでしょうか?
yuki84web

2021/07/01 11:04

console.log(document.referrer);で遷移元取得すると、どうなりますか?
makimaki_119

2021/07/06 07:16

jQuery(function($){ console.log(document.referrer);{ $("#selecter1-1").prop('checked',true);  } }); ↑でチェックの取得できました! ただすべてのリンクから適応されてしまっているので、指定方法少し工夫してみます。
yuki84web

2021/07/06 11:31

遷移元からアクセスした時にconsole.logでURLがコンソールに出力されるはずです。 なのでそれをif文のdocument.referrer条件式に書いてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問