CakePHP - v1.3xx - 原型& jquery用法但是原型正在运行jquery事件?

时间:2011-06-09 06:35:57

标签: jquery ajax cakephp prototypejs

我可能会在这里严重丢失一些东西,但这只是不加起来。

我构建了一个ajax表单,它与ProtoType完美配合。

我正在迁移到Jquery,所以我添加了jquery库等。

以下是我的$ajax提交.. 请注意jQuery编码加载和成功选项..

我无法弄清楚为什么为什么这个工作完全正常但是只有我包含ProtoType和Scriptulaous库?这对我来说完全没有意义,因为我用jQuery .show()调用我的加载器。为什么ProtoType会对此产生任何影响?

表单的提交部分

echo $ajax->submit('Submit', array('url' => array('controller' => 'plans', 'action' =>    'search_action_ajax'),
'update' => 'ajax_search_div',
'label' => 'Get Quotes >>',
'id' => 'submitButton',
'loading' => '$j("#busy-indicator").show()',
'success' => '$j("#busy-indicator").hide()',
));

我只想完全禁用ProtoType ..

我的控制器助手如下:

var $helpers = array('Js' => array('Jquery'), 'Ajax', 'Html', 'Form', 'Session');

正如您所看到的,我正在调用jQuery。

我的default.ctp中的库

echo $this->Html->script('jquery-1.6.1.min', array('inline' => 'false'));
echo $this->Html->script('jquery-ui-1.8.13.custom.min', array('inline' => 'false'));

旁注:

我还测试了下面的脚本,以确保jQuery实际上正在处理:

...'loading' => '$j("#busy-indicator").fadeIn("slow")',...

1 个答案:

答案 0 :(得分:0)

AJAX-Helper是deprecated,你不应该再使用它了。

此外,您不需要指定要使用jQuery,因为这是CakePHP将加载的默认库,因为您可以阅读here。这并不意味着它也被包括在内!只有帮助者可以使用它。

您仍然可以使用AJAX,但您需要重写视图。您可以在Js-Engine Usage的手册页上获取有关如何执行此操作的信息。

我还建议您阅读Js-Helper上的整个手册页。