jQuery Form pluginを使用して ExpressionEngine 登録フォームに Ajax を追加しようとしています。フォーム エラーのほとんどはProfile:Editで処理され、JSON で返されます。これらのエラーの解析に大きな問題はありませんでした。Profile:Edit で処理されない唯一のエラーは、誰かがまだ「保留中」の電子メール アドレスで再登録しようとした場合です。そのために、標準の EE エラー テンプレートを HTML で取得します。
私がやりたいのは、jQuery$.each()
ループをセットアップして、エラー リスト項目を出力することです。しかし、HTML を解析しようとすると、コンソールに奇妙なデータが表示されます。本当に単純な jQuery 関数でさえ、私の期待どおりには機能しません。たとえば、次のコードでは、#content
divのコンテンツが返されることを期待しています。
$('.myForm').ajaxForm({
success: function(data){
var theContent = data.find('#content');
console.log(theContent);
}
});
しかし、私はコンソールでこれを取得します:
Uncaught TypeError: Object
<!-- Full HTML of Error Template -->
has no method 'find'
.filter()
の代わりに使用すると、同じことが起こり.find()
ます。
data
次のように、セレクター構文でラップすると:
$('.myForm').ajaxForm({
success: function(data){
var theContent = $(data).find('#content');
console.log(theContent);
}
});
コンソールでこれを取得します:
[prevObject: e.fn.e.init[9], context: undefined, selector: "#content"]
context: undefined
length: 0
prevObject: e.fn.e.init[9]
0: #text
1: <title>
2: #text
3: <meta>
4: #text
5: <style>
6: #text
7: <div>
8: #text
length: 9
__proto__: Object[0]
selector: "#content"
__proto__: Object[0]
これは私が期待したものではなく、どうすればよいか本当にわかりません。
「html」として設定しdataType
ても違いはないようです。
何かご意見は?このことは私を何年も老化させました、それはとてもイライラします.