2013-04-29 83 views
0

我目前使用CakePHP的JsHelper如下,我想运行其他JavaScript代码,当文档准备好:是否可以将代码附加到CakePHP生成的document.ready块?

echo $this->Js->get(':submit')->event('click', "$(':submit').attr('disabled','disabled'); 
     $(':submit').val(\"Saving...\"); 
     ", 
      array('stop' => false)); 

上面的代码是在我的default.thtml中,并插入到每一个网页在此网站申请。我想在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

您可以根据需要添加尽可能多的jQuery准备好的处理程序。这是一个事件堆栈 – Phil 2013-04-29 05:57:27

回答

1

成功!

只需追加到CakePHP的缓冲区如下:

echo $this->Js->buffer('alert("Hello world!");'); 

而且,正如上述评论者指出,一切工作只用2个产生documentReady功能正常。

相关问题