PHP プロジェクトを CakePHP に変換していますが、日付ピッカー、テキスト エディターなどの定義済みの jQuery スクリプトに問題があります。
ここに私のCSS、スクリプトがページに追加されています:(ページを右クリックしてページソースをクリックした場合)
<link rel="stylesheet" type="text/css" href="/cakeskite/css/common.css" />
<link rel="stylesheet" type="text/css" href="/cakeskite/css/creatorcommon.css" />
<link rel="stylesheet" type="text/css" href="/cakeskite/css/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="/cakeskite/css/cssbuttons.css" />
<link rel="stylesheet" type="text/css" href="/cakeskite/css/jquery-te-1.4.0.css" />
<link rel="stylesheet" type="text/css" href="/cakeskite/css/jquery.datepick.css" />
<script type="text/javascript" src="/cakeskite/js/jquery.js"></script>
<script type="text/javascript" src="/cakeskite/js/jquery-ui-1.8.2.custom.min.js"></script>
<script type="text/javascript" src="/cakeskite/js/jquery.simplemodal.js"></script>
<script type="text/javascript" src="/cakeskite/js/jquery.datepick.js"></script>
<script type="text/javascript" src="/cakeskite/js/jquery.ptTimeSelect.js"></script>
<script type="text/javascript" src="/cakeskite/js/jquery-te-1.4.0.js"></script>
<script type="text/javascript" src="/cakeskite/js/common.js"></script>
<script type="text/javascript" src="/cakeskite/js/creatorcommon.js"></script>
リンクをクリックすると、ファイルが存在することが示されるため、ファイルが見つからないという問題ではありません。Chromeコンソールでも確認できます
次のように、スクリプトをレイアウト ファイルに追加しました。
<?php
echo $this->Html->css('common');
echo $this->Html->css('creatorcommon');
echo $this->Html->css('jquery-ui');
echo $this->Html->css('cssbuttons');
echo $this->Html->css('jquery-te-1.4.0');
echo $this->Html->css('jquery.datepick');
echo $this->Html->script('jquery');
echo $this->Html->script('jquery-ui-1.8.2.custom.min');
echo $this->Html->script('jquery.simplemodal');
echo $this->Html->script('jquery.datepick');
echo $this->Html->script('jquery.ptTimeSelect');
echo $this->Html->script('jquery-te-1.4.0');
echo $this->Html->script('common');
echo $this->Html->script('creatorcommon');
echo $scripts_for_layout;
?>
すべての CSS ファイルとスクリプト ファイルを webroot/js および webroot/css フォルダーに配置しました
次のようなエラーが表示されます。
Object [object Object] has no method 'datepick'
一方、彼らは Cakephp 以外のプロジェクトで作業しています。これは、html ファイルとスクリプト ファイルの行です。
注: ajax を使用して読み込みを行っており、データの受信時にコントロールをバインドしています。
$.ajax({
url: 'loadtests',
type: 'POST',
data: 'category_id=' + category_id + '&subcategory_id=' + subcategory_id,
success: function(result){
stopLoading();
if(!isSessionExpired(result)){
$(".msg").html(" ");
if(result.indexOf("No tests found...")>-1){
$(".tests").html("No tests found...");
}
else{
$(".tests").html(result);
$(".testfound").css("display","block");
$(".durationrow").css("display","block");
$(".noduration").css("display","none");
disableKeyPress($("input[name='startdate']"));
disableKeyPress($("input[name='enddate']"));
disableKeyPress($("input[name='starttime']"));
disableKeyPress($("input[name='endtime']"));
$("input[name='startdate']").datepick({dateFormat: 'yyyy-mm-dd', changeMonth: false});
$("input[name='enddate']").datepick({dateFormat: 'yyyy-mm-dd', changeMonth: false});
$("input[name='starttime']").ptTimeSelect();
$("input[name='endtime']").ptTimeSelect();
$(".datepicker").css("display","block");
$("select[name='test']").change(
function(){
checkTestDuration();
}
);
checkTestDuration();
}
}
else
notLoggedIn();
}
そして、ここに私のHTMLフォームがあります:
<div class="createrow timebound testfound">
<div class="column150 leftfloat">Start Date</div>
<div class="column250 leftfloat">
<input name="startdate" class="txt100" />
</div>
<div class="column150 leftfloat msg"> </div>
<div class="clear"></div>
</div>
<div class="createrow timebound testfound">
<div class="column150 leftfloat">End Date</div>
<div class="column250 leftfloat">
<input name="enddate" class="txt100" />
</div>
<div class="column150 leftfloat msg"> </div>
<div class="clear"></div>
</div>
<div class="createrow timebound testfound">
<div class="column150 leftfloat">Start Time</div>
<div class="column250 leftfloat">
<input name="starttime" class="txt100" />
</div>
<div class="column150 leftfloat msg"> </div>
<div class="clear"></div>
</div>
<div class="createrow timebound testfound">
<div class="column150 leftfloat">End Time</div>
<div class="column250 leftfloat">
<input name="endtime" class="txt100" />
</div>
<div class="column150 leftfloat msg"> </div>
<div class="clear"></div>
</div>
私は何を間違っていますか?