0
  • 私はJoomla1.5を持っています
  • フォームスタイリング用のプラグイン「jqtransform」を見つけました
  • 外部データベースに接続する「myform.php」ページをインポートする記事があります

myform.phpにあるフォームを定型化するために、jqueryプラグイン(jqtransform)を埋め込もうとしています。私が行う手順は次のとおりです。

  • 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(); });

最初のブックマークは正常に機能します(ブラウザが停止します)。

2番目のブックマークは何もしません。これは、ブラウザが関数内に入らないことを意味します。

コンソールログには何も表示されません。

誰かが何か考えを持っていますか?

4

2 に答える 2

1

問題は JQuery Conflict です。

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 に答える