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

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

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

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

Q&A

0回答

1528閲覧

jQuery readyを付けたら動作できなくなった

a-_.

総合スコア133

jQuery

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

0グッド

0クリップ

投稿2016/09/21 07:11

編集2022/01/12 10:55

元々JavaScriptでコーディングしたコードを下記jQueryコードにコーディングし直して処理しようとしたら全く処理できなくなってしまいました
原因究明をしてみたんですが、処理の解読がしきれなくて作業も止まってしまいました
⓵はready追加で一度に複数の処理を読み込めるようにし、formデータをsubmitする時にr1~3がcheckedされた場合、各条件を満たさなかったらアラート表示(となるはず)
⓶bbsをclickした時に変数myidでradioのidを取得、変数sendlistでr1~3をcheckした時の判別処理、if文でbbsがcheckedされたらtrueとなってsendlist[myid].textを含めたvalue値をsendに代入、chkid[]はsendlist[myid]のcheckflgがtrueか否かでdisabled
という風に解釈してるんですが、まだ何か定義されていない関数等があるんでしょうか
このような文章になってしまって申し訳ないですが、何が原因か教えていただけますか

<script type="text/javascript" src="jquery-1.12.4.js"></script> <script type="text/javascript"> $(document).ready(function() {//⓵.readyを追加してコード全体で一度に複数処理できるように修正 $('form').on('submit',function() {//submitボタンを押すとフォームの条件が満たされない場合各アラート表示 if ($('#r1').prop('checked')) { with($('#name')) { if (val().length >= 10) { window.alert("ERROR1"); return false; } if (val() === "") { window.alert("ERROR2"); return false; } } with($('#comment')) { if (val().length >= 300) { window.alert("ERROR3"); return false; } if (val() === "") { window.alert("ERROR4"); return false; } } } if ($('#r2').prop('checked') || $('#r3').prop('checked')) { if ($('input[name = "chkid[]"]:checked').length == 0) { window.alert("ERROR5"); return false; } } return true; }); $('input[name = bbs]').on('click',function() {//⓶各bbsを押すと投稿・更新・削除にsubmitボタンの切り替わるのとfalseでチェックボックス(chkid[])非表示 var myid = $(this).prop('id'); var sendlist = { "r1":{"text":"投稿",checkflg:true}, "r2":{"text":"更新",checkflg:false}, "r3":{"text":"削除",checkflg:false}, }; if($(this).prop('checked')==true){ $('#send').val(sendlist[myid].text); $('[name = "chkid[]"]').prop('disabled',sendlist[myid].checkflg); } }).click(); }); </script> </head> <body> <form method="post" action=""> <table> <tr> <td> 名前:<input type="text" name="name" id="name"> 内容:<textarea name="comment" cols="30" rows="3" id="comment"></textarea> <input type="radio" name="bbs" id="r1" value="post">投稿 <input type="radio" name="bbs" id="r2" value="update">更新 <input type="radio" name="bbs" id="r3" value="delete">削除 <input type="submit" id="send"> </td> </tr> </table>

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

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

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

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

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

a-_.

2016/09/21 07:33

ご依頼ありがとうございます すいませんがAjaxは使わないで処理したいので今回はそのURLは使う予定はないです
ijufumi

2016/09/21 07:37

Ajaxを使う、使わないに関係なく、jQueryのjsファイルをCDN経由で読み込むための設定です。 srcでjQueryのjsを読み込むように記述されていますが、うまく読み込めていない(パスがおかしいなど)こともあるので、一度こちらに変更して試してもらえないでしょうか? というのも、質問に記載されているコードをローカルで動かしてみたところ、アラートの表示はされました。
kei344

2016/09/21 07:37

Ajaxと関係なくjQueryを使用しているので、それが正しく読み込まれているかは確認すべきです。
ijufumi

2016/09/21 07:38

'[name = "chkid[]"]'で指定されている「chkid」はHTML上どこにもありませんが、他にもコードがあるということでしょうか?
a-_.

2016/09/21 07:42

URLの件了解しました すいませんが一部が文字化けしていて解読できないのでお手数ですがもう一度教えていただけますか あと他のコードの件ですがchkidのコードもあります
date

2016/09/21 08:23 編集

ブラウザの検証で ReferenceError: $ is not defined のエラーが出ていませんか?
a-_.

2016/09/21 08:16

すいません URLのmin.js以降がmin.js&quot;&gt;&lt;/script&gt;となってしまっています
a-_.

2016/09/21 08:28

教えていただいたURLで確認したら⓵のみ動作しました 何故今までの読み込みだと処理されなかったのか、また理解できないことが増えてしまいましたが今のところコード自体に問題はないという事でしょうかね
date

2016/09/21 08:29

jquery-1.12.4.jsを同じフォルダ内に入れていましたか?
a-_.

2016/09/21 08:32

すいません、.jsファイルも同じファイルに入れなければいけないというの初耳です 改めて元の.jsファイルで確認したら動作確認できました ありがとうございます ⓶についてもご回答いただけると幸いです
date

2016/09/21 08:38 編集

別フォルダ内にあるjsファイルを参照する方法を知ってますか? 後私の方だと②の方も動きます
a-_.

2016/09/21 08:48

その方法は存じ上げません 先ほど確認したところ⓵のみ動作しました ⓶に関してはコーディングに問題があるということなんでしょうか
date

2016/09/21 10:19

今回の事もちゃんと開発ツールを見ていれば気づけたでしょう。まず開発ツールの見方を覚えた方がいいです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問