0

Drupal ページのセット内に一連のカスタム PHP フォームがあります (Drupal フォーム API を介して生成されたものではありません。ここでこれらのフォームに Drupal を使用しない理由は説明しません。少し複雑です)。キーボード入力は許可されませんが、コピーと貼り付けは許可されます。デフォルト値が正しく入力されますが、入力することはできません。例外は、TinyMCE が有効になっているテキスト フィールドです。TinyMCE スクリプトが読み込まれていない場合を除き、ここではテキスト入力は問題ありません。

この問題は、Jquery Update を調整して最新の 1.4.2 ライブラリをロードできるようにした後に発生しました。すべての管理領域の動作を機能させたままにします。

排除のプロセスを通じて、カスタム フォームのネストされたチェックボックス リストに使用している JStree プラグインが問題の原因であることがわかりました。無効にすると、テキスト入力は問題ありません。不思議なことに、JStree が (特定のセレクターを使用して) 有効になっているコンテナーの外側のフィールドで問題が発生し、JStree で制御される要素がない別のページの他のカスタム PHP フォームのフィールドにも影響します。テキスト入力とフォーム コンテナーの両方にクラスを追加して、Drupal で生成されたフォームで使用されるものを可能な限り模倣しようとしましたが、役に立ちませんでした。Drupal フォームは、この奇妙な競合の影響を受けません。Drupal の外部で、MAMP の簡素化されたフォームでこの問題をテストしました。テキスト入力フィールドは、JStree チェックボックス リストと同じフォームに存在しても影響を受けません。

これが誰にとってもおなじみのように聞こえる場合、または問題をさらにトラブルシューティングする方法を誰かが提供できる場合は、非常に感謝しています.

4

1 に答える 1

0

テーマの.infoファイルでスクリプト呼び出しを並べ替えることで、問題を一時的に解決しました。ここで、JStreeに付属するJqueryライブラリのコピーを他のすべてのスクリプトの上にロードします。私が調べる正しいスクリプトの順序に対処するJqueryUpdateのパッチがあるかもしれないと思います。

問題は解決しました。

于 2010-09-16T08:21:54.767 に答える