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

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

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

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

1916閲覧

ログアウト

ryohasegawa

総合スコア437

PHP

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/04/10 17:12

サイトでログアウトするボタンの設置で、テキストをクリックするとフォームが送信されるように以下のコードを書きました。

php

1 <a href="#" onclick="$('#logout').submit();">ログアウト</a> 2 <form action="logout.php" method="post" id="logout"> 3 <input type="submit" style="display: none "> 4 <input type="hidden" name="token" value="<?= h($_SESSION['token']); ?>"> 5 </form>

実際クリックすると、ブラウザの開発ツールのコンソールが動くので認識はしているそうなんですが、エラーが出てうまくできません。

原因はどにあるのでしょうか?

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

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

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

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

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

guest

回答4

0

ベストアンサー

コードの一部しか質問文にないので、断定できませんが、以下のような理由でエラーが表示されていると考えられます。一度確認してみていただけませんか?

  • jQueryを読み込んでいない。

$()という関数はjQuery()という関数を省略した記述方法で、この関数名が出てきた多くの場合はjQueryを使っていることが多いです。.htaccessjQueryを設置しているディレクトリまでアクセスを拒否していたり、読み込んだ先にはjQueryは存在しなかったりしないか確認してみてください。

  • jQueryを読み込んでいるが、jQueryが読み込まれるよりも前にjQueryを使用したコードを記述している。

jQueryが読み込まれていないのにjQueryで用意された関数を使おうとしても、質問文にあるようなエラーが発生します。

  • jQueryの読み込み方が間違っている。

jQueryを読み込むときには、通常scriptタグsrc属性(とtype属性)を指定します。もし、scriptタグの終了タグが存在しなかったり、src属性に存在しない場所を指定していたり、type属性に不正な値を入れていた場合、正常にjQueryが読み込まれない場合があります。また、他にライブラリを使用していて、それによって読み込まれたjQueryと、それとは別のバージョンのjQueryが読み込まれていると、$()(jQuery())が存在しない場合があり、jQueryが2回以上読み込まれているときにも正常に動作しない場合があります。

  • 自分で$という関数を用意している。

この場合も、それを記述したjsファイルが読み込まれていなかったり、それを読み込むよりも前に使っている、読み込み方が間違っていることが考えられます。

投稿2017/04/11 11:33

s8_chu

総合スコア14731

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

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

ryohasegawa

2017/04/11 12:08

自分の環境ではそもそもjQueryが入ってませんでした。 もし、このsubmitの関数を自分で作るとなると大変なものなんですか?
s8_chu

2017/04/11 14:23

submit関数についてはjQueryのコードを実際に読んで確かめたわけではないのですが、jQueryは古いブラウザで対応できていないjavascriptの機能を使えるようにするなど、jQueryは色々な工夫をしているので、jQueryのsubmit関数を一から自分で作るのは恐らくそれなりに難しいのではないかと思います。
ryohasegawa

2017/04/11 15:13

なるほど、素直にjQuery使います。
guest

0

jQueryを読み込めているか確認してみてください。

投稿2017/04/10 17:23

kei344

総合スコア69398

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

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

0

Google Hosted Libraries
というのがありますので、読み込まれたらいいと思います。
読み込む場所とかわからなければ、検索されれば出てきますよ。

投稿2017/04/11 01:43

Z-TALBO

総合スコア525

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

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

0

jQueryが読み込まれてないと思います。
ライブラリが読み込めてるかどうかをもっとしっかり確認してください。

投稿2017/04/10 17:50

chieeeeno

総合スコア217

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

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

ryohasegawa

2017/04/11 09:46

jQuery を読み込まないと動かないのですか?
chieeeeno

2017/04/11 12:09

他の方が丁寧に説明されていらっしゃいますが、 $()はjQueryの関数です。 $('#logout')でjQueryの関数を実行しているので、jQueryを読み込まないと動くわけがありません。 コピペで何処かのコードをそのまま貼り付けたんでしょうが、 意味もわからずにコピペしたところで、ちゃんと動作するようなものを作れるわけがないので、 コピペするときはちゃんと意味を理解した上で行うようにしてください。
ryohasegawa

2017/04/11 12:13

はい。 Javascriptの知識が0に等しく勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問