2 つのフォームの BODY タグの onLoad イベントで JS を呼び出す必要があるアプリがあります。ただし、それらのタグだけを変更する方法が見つかりません。誰か知っていますか?
フランク
inkedmnは確かにこのケースに正しい答えを提供しましたが、一般的には、次のように「情報を渡す」ことができます。
(views / controller / view.ctp内)
$this->set('bodyAttr', 'onload="something"');
(views / layouts / default.ctp内)
<?php
if (isset($bodyAttr)) {
$bodyAttr = " $bodyAttr";
} else {
$bodyAttr = null;
}
?>
<body<?php echo $bodyAttr; ?>>
私はよくこのように使用して、「トップレベルの要素」にクラスを追加します。
<?php
if (!isset($docClass)) {
$docClass = null;
}
?>
<div id="doc" class="<?php echo $docClass; ?>">
ページの読み込み時に Javascript が実行されるように body タグを変更する必要はありません。必要に応じて、レイアウトに次のようなものを含めることができます。
(jQuery)
$("body").load(
function(){
// do stuff when the body element is loaded.
}
);
または、document.ready イベントが発生したときにコードを実行する場合は、次のようにします。
$(function(){
// do stuff when the document is ready
}
);
または、jQuery を使用したくない場合は、次のようにすることもできます。
function doStuff(){
// whatever you want to happen when the load completes
}
window.onload = dostuff;
頑張ってください。この回答が満足のいくものでない場合は、質問を明確にしてください。
私は次のことを行います:
体に $ bodyLoad を適用します
<body <? = (isset ($ bodyLoad)? 'onload = \''. $ bodyLoad.' \'',''); ?> >
すでに[アクション]中です。Ctp、私は次のことを行います:
<? php $ this-> set ('bodyLoad', 'field.focus ();');?>
必要に応じて、このコードをコントローラーに入れることもできます。
幸運を