お世話になります。
cakePHP3でログイン機能を作っております。
その際パスワード表示非表示ボタンを入れるためjQueryをCDNを使って取り入れたいのですが、フォームヘルパーを使っており<html>の記載もしていないのでどのようにすれば<head>に記入できるのか分からない状態です。
調べてもhtmlをフォームヘルパーで書かずに通常通り<head>タグの中に入れているものしか見つからず解決策をご教授いただきたいです。
コード自体間違っていたり見当違いだったら申し訳ないです。
試したこと
・ctpファイルの最初の<?php ?>の中に
「echo$this->Html->script('https://code.jquery.com/jquery-3.5.1.min.js');」と
「echo$this->Html->script('login.js');」を記載
・<!DOCTYPE html><html><head>を書いて中に
「<?= $this->Html->script('https://code.jquery.com/jquery-3.5.1.min.js'); ?>」と
「<?= $this->Html->script('login.js'); ?>」を記載
ソースコード
PHP
1<?php 2/** 3 * @var \App\View\AppView $this 4 * @var \App\Model\Entity\FishingResult $fishingResult 5 */ 6echo $this->Html->css('login'); 7?> 8 9<!-- これをどこに入ればいいのか --> 10<?= $this->Html->script('https://code.jquery.com/jquery-3.5.1.min.js'); ?> 11<?= $this->Html->script('login.js'); ?> 12 13<div id="form"> 14 <p class="form-title">ログイン</p> 15 <?= $this->Flash->render() ?> 16 <?= $this->Form->create() ?> 17 <?= $this->Form->control('userid', array( 18 'label' => array( 19 'text' => 'ユーザーID'), 20 'placeholder' =>'ユーザーID' 21 )) ?> 22 <?= $this->Form->control('password', array( 23 'label' => array( 24 'text' => 'パスワード'), 25 'placeholder' => 'パスワード' 26 )) ?> 27 <p> 28 <input type="checkbox" id="js-passcheck"/> 29 <label for="js-passcheck">パスワードを表示する</label> 30</p> 31 <p class="login"><?= $this->Form->button('ログイン') ?></p> 32 <?= $this->Form->end() ?> 33 <div class="reg"> 34 <a href="/my-project/users/add">会員登録はこちらから</a> 35 </div> 36</div>
js
1$(document).ready(function() { 2 var password = '#js-password'; 3 var passcheck = '#js-passcheck'; 4 5 changeInputtype(password, passcheck); 6}); 7 8 9function changeInputtype(password, passcheck) { 10 $(passcheck).change(function() { 11 if ($(this).prop('checked')) { 12 $(password).attr('type','text'); 13 } else { 14 $(password).attr('type','password'); 15 } 16 }); 17}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/22 06:07
2021/06/22 06:13
2021/06/22 08:54