0
  • 我有 Joomla 1.5
  • 我找到了一个表单样式插件,“jqtransform”
  • 我有一篇文章导入了连接到外部数据库的“myform.php”页面

我尝试嵌入 jquery 插件(jqtransform)来风格化驻留在 myform.php 中的表单。我做的步骤是:

  • 在 joomla 的 index.php 的标题中添加 css 的链接
  • 在 joomla 的 index.php 中(或在 myform.php 中)添加 jquery 插件的链接
  • 在 myform.php 的表单标签中添加 jqtransform 类(插件需要)
  • 在 myform.php(或 joomla 的 index.php)的末尾,我在脚本标签中添加了 javascript 片段:
    $(function() {
           //find all form with class jqtransform and apply the plugin
           console.log("foo");
           $("form.jqtransform").jqTransform(); });

(插件需要)

问题是插件不起作用。

我在浏览器中调试javascript并将书签放在前面$(function(){});和前面$("form.jqtransform").jqTransform(); });

第一个书签工作正常(浏览器停止)。

第二个书签不做任何事情。这意味着浏览器不会进入函数内部。

控制台日志不显示任何内容。

任何人有任何想法?

4

2 回答 2

1

问题是 JQuery 冲突。

你应该使用 var jq = jQuery.noConflict(); 就在脚本上方并使用 jq 而不是 $ 符号。像:

 jq = jQuery.noConflict();
 jq(function(){});
 jq("form.jqtransform").jqTransform(); });

类似的东西。您也可以从 myform.php 添加脚本,无需编辑 index.php 即可使用。就像一个页面需要一些 js 和 css 不要在 index.php 中加载它每次都会加载,所以速度会降低。对于组件或模块或特定页面,您可以使用 joomla 的默认文档工厂。

像:

$document = &JFactory::getDocument();
$document->addScript('your script file full path');
$document->addStylesheet('your style sheet full path ');

希望这对你朋友有帮助。。

于 2012-12-10T12:15:33.513 回答
0

此方法不需要编辑模板文件。

只需使用自定义 HTML 模块并将其发布到位

<script type="text/javascript">jQuery.noConflict();</script>
<script>
jQuery(document).ready(function() {
    jQuery("form.jqtransform").jqTransform(); 
});
</script>
于 2012-12-10T22:59:18.153 回答