私はこのフォームを持っています:
<form>
<p>
<label for="field_userAddress">Adresse (*)</label>
<input type="text" name="userAddress" id="field_userAddress" />
</p>
<p>
<label for="field_userCP">CP (*)</label>
<input type="text" name="userCP" id="field_userCP" />
</p>
<p>
<label for="field_vars[1]">vars one (*)</label>
<input type="text" name="vars[1]" id="field_uservars[1]" />
</p>
<p>
<label for="field_vars[2]">Vars two (*)</label>
<input type="text" name="vars[2]" id="field_vars[2]" />
</p>
</form>
そして、AJAXを使用してフィールドを制御したいので、php側で作業を行い、最終的にJQueryを使用してjson文字列を次のように要求します:
{
"status": 0,
"err": {
"userAddress": "required",
"userCP": "required"
},
"errr": {
"vars": {
"1": "required",
"2": "required"
}
}
}
問題のフィールドの前にすべてのメッセージを表示したい。
したがって、最初の「エラー」については、これらの行を使用しましたが、機能します。
$.each(r.err,function(k,v)
{
form.find('[name='+k+']').closest('p').append(v);
});
しかし、2番目の「エラー」については、これらの行を試しました:
$.each(r.errr.vars,function(y,z)
{
form.find('[name="'+y+'['+z+']"'+']').closest('p').append(z);
});
うまくいきません!
これは私にとって少し複雑であることがわかりました。アドバイスをお願いします。