2013-04-29 116 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功能正常。

相關問題