\r\n```\r\n\r\n### 試したこと\r\n\r\n$('#form').checkValidity()のほうは正常にtrueやfalseを返します。\r\n\r\n### 補足情報\r\n・MacOS HighSierra\r\n・Ruby 2.5.0\r\n・Rails 5.2.2\r\n・アプリ自体はRails製なので、正確にはhtml.erbです\r\n・HTML5でrequiredを利用しています\r\n\r\n\r\n回答のほどよろしくお願いします。","answerCount":3,"upvoteCount":0,"datePublished":"2018-12-30T08:52:55.329Z","dateModified":"2022-01-12T10:55:45.698Z","suggestedAnswer":[{"@type":"Answer","text":"3.2.1をChromeで確認したのですが、`checkValidity()`がないといわれたので、`$('#form')[0].checkValidity()`に変更してます。\r\n\r\n.css については特にエラーはでませんでした。。。\r\nまた、この記述だと初回読み込み時のみしか実行されないので、ラジオボタンをクリックした時に実行されるようにしました。省略されていただけでしたらすみません。。。\r\n\r\n\r\n```js\r\n $(\"input[type=radio]\").click(function(){\r\n if ($('#form')[0].checkValidity() ){\r\n $('#submit').css('display', 'block');\r\n }\r\n });\r\n```","dateModified":"2019-01-11T12:01:34.512Z","datePublished":"2019-01-11T12:01:34.512Z","upvoteCount":0,"url":"https://teratail.com/questions/166591#reply-251160","comment":[]},{"@type":"Answer","text":"```JavaScript\r\n$('#form').checkValidity()\r\n```\r\nがtrueやfalseを返すのは正常ではありません。\r\nおそらく開発者ツールのコンソールで確認しているのではないでしょうか?\r\n[https://developer.mozilla.org/ja/docs/Learn/Common_questions/What_are_browser_developer_tools](https://developer.mozilla.org/ja/docs/Learn/Common_questions/What_are_browser_developer_tools)\r\n\r\nそしてこれはまた jQuery が正しく読み込まれていないことを示します。\r\n設定を確認してみてください。","dateModified":"2019-01-10T06:17:38.201Z","datePublished":"2019-01-10T06:17:38.201Z","upvoteCount":0,"url":"https://teratail.com/questions/166591#reply-250666","comment":[]},{"@type":"Answer","text":"~~あやふやな記憶&気のせいだったら申し訳ないのですが、jQueryを使う際(?)idとかclassに`submit`だと怒られる気がします。~~\r\n\r\n~~試しに`submit`以外のid名にしたら動きますかね…?~~\r\n\r\n気のせいでした、すいません。\r\n\r\nコレと勘違いしてました\r\nhttps://chaika.hatenablog.com/entry/2014/03/18/192448\r\n\r\nちなみに、jQueryのバージョンはいくつでしょうか?","dateModified":"2018-12-30T09:49:20.612Z","datePublished":"2018-12-30T09:42:07.475Z","upvoteCount":0,"url":"https://teratail.com/questions/166591#reply-248575","comment":[{"@type":"Comment","text":"ご回答ありがとうございます!\r\nご指摘の通り、試しにid名をhogeに変更したのですが、解消できませんでした・・・。\r\n\r\n$('#hoge').css('display', 'block')\r\n> Uncaught TypeError: $(...).css is not a function","datePublished":"2018-12-30T09:48:58.756Z","dateModified":"2018-12-30T09:48:58.756Z"},{"@type":"Comment","text":"あ、回答編集でやってしまったので念の為…\r\n\r\n気のせいでした、すいません。\r\n\r\nコレと勘違いしてました\r\nhttps://chaika.hatenablog.com/entry/2014/03/18/192448\r\n\r\nちなみに、jQueryのバージョンはいくつでしょうか?\r\n\r\n当方、jquery 3.3.1で試したら`checkValidity()`関数が無いと怒られてしまって…汗","datePublished":"2018-12-30T09:54:41.758Z","dateModified":"2018-12-30T09:54:41.758Z"},{"@type":"Comment","text":"ありがとうございます。\r\n確認したところ、jQueryは3.2.1でした!\r\nバージョンの違いに原因があるかもしれないので、調べてみます。","datePublished":"2018-12-30T10:18:22.131Z","dateModified":"2018-12-30T10:18:22.131Z"}]}],"breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"トップ","url":"https://teratail.com"},{"@type":"ListItem","position":2,"name":"Ruby on Rails 5に関する質問","url":"https://teratail.com/tags/Ruby%20on%20Rails%205"},{"@type":"ListItem","position":3,"name":"Ruby on Rails 5","url":"https://teratail.com/tags/Ruby%20on%20Rails%205"}]}}}
実現したいこと
フォームの必須項目が記入されたときにsubmitボタンを表示する仕様にしたいです。
発生している問題・エラーメッセージ
Uncaught TypeError: $(...).css is not a function
該当のソースコード
html
1<form action="/inquiries/create" method="post" id="form">
2 <div class="basic-wrapper">
3 <h3>性別</h3>
4 <ul>
5 <li><input type="radio" name="sex" value="男" required><br>男</li>
6 <li><input type="radio" name="sex" value="女" required><br>女</li>
7 </ul>
8 <input type="submit" value="提出する" style="display: none" id="submit">
9</form>
10
11<script>
12 if ($('#form').checkValidity()){
13 $('#submit').css('display', 'block');
14 }
15</script>
試したこと
$('#form').checkValidity()のほうは正常にtrueやfalseを返します。
補足情報
・MacOS HighSierra
・Ruby 2.5.0
・Rails 5.2.2
・アプリ自体はRails製なので、正確にはhtml.erbです
・HTML5でrequiredを利用しています
回答のほどよろしくお願いします。
3.2.1をChromeで確認したのですが、checkValidity()がないといわれたので、$('#form')[0].checkValidity()に変更してます。
.css については特にエラーはでませんでした。。。
また、この記述だと初回読み込み時のみしか実行されないので、ラジオボタンをクリックした時に実行されるようにしました。省略されていただけでしたらすみません。。。
js
1 $("input[type=radio]").click(function(){
2 if ($('#form')[0].checkValidity() ){
3 $('#submit').css('display', 'block');
4 }
5 });
15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

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

テンプレート機能で
簡単に質問をまとめる
質問する
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。