我目前使用CakePHP JsHelper如下,我希望在文档准备就绪时运行其他JavaScript代码:
echo $this->Js->get(':submit')->event('click', "$(':submit').attr('disabled','disabled');
$(':submit').val(\"Saving...\");
",
array('stop' => false));
上面的代码在我的default.ctp中,并插入到本网站应用程序的每一页中。我想在1页内添加其他代码。代码会附加一个按钮,其中包含某些属性和事件。是否可以这样做?
我已经尝试过2个documentReady函数(1由CakePHP生成,另一个在* .js文件中)无效。
以下是第二个.js文件的当前内容:
//source: http://marcgrabanski.com/articles/cakephp-ajax-quick-save-jquery
$(document).ready(function() {
$('<input type="button" value="Insta-Save"/>')
.click(function(){
$(this).parents("form:first").ajaxSubmit({
success: function(responseText, responseCode) {
$('#ajax-save-message').hide().html(responseText).fadeIn();
setTimeout(function(){
$('#ajax-save-message').fadeOut();
}, 5000);
}
});
return false;
})
.appendTo('form div.submit');
});
我也尝试过使用代码块,但CakePHP坚持将代码填入页面的最顶层,所以很自然地,IE抱怨道。
答案 0 :(得分:1)
成功!
只需按如下方式附加到CakePHP缓冲区:
echo $this->Js->buffer('alert("Hello world!");');
而且,正如评论者在上面指出的那样,一切都与2结果documentReady函数一致。