これは愚かな質問かもしれませんが、エラーを返す場合はフォーム上のトグルを展開する必要があります。フォームが送信されると、ページがリロードされるため、スライダダウンは最初は非表示になります。ラベルがhasClass 'error'の場合、トグル展開
フォームをダウンtoogleするためのリンクがあります:HTMLは次のようになります
<span id="slideDownCreateMail" styleId="createEmail" class="createNewEmailGallery">Expand</span>
:
<div class="showCreateNewEmailAccount" >
<fieldset>
<h3>Enter mail</h3>
<p id="createNewEmailAccount">
<label for="name">Email:</label>
<html:text property="address" styleClass="border" styleId="address" />
</p>
<div><one:error property="address" element="label" /></div>
<p>
<label for="mailPassword1">Password:</label>
<html:password property="mailPassword1" styleClass="border" styleId="mailPassword1" />
</p>
<div><one:error property="mailPassword1" element="label" /></div>
<p>
<label for="mailPassword2">Password (again):</label>
<html:password property="mailPassword2" styleClass="border" styleId="mailPassword2" />
</p>
<div><one:error property="mailPassword2" element="label" /></div>
</fieldset>
</div>
私はこのようにjQueryでそれをやろうとしています:
$(document).ready(function(){
$("#slideDownCreateMail").click(function(){
$(".showCreateNewEmailAccount").slideToggle("slow");
/*if (!$(".showCreateNewEmailAccount").hasClass("error")) {
$(".showCreateNewEmailAccount").css('display','block');
}*/
});
$('.showCreateNewEmailAccount label').has('error').css('display', 'block');
});
しかし、上記のどれもうまくいかないようです。 エラーは、このタグに返されます。
<p>
<label for="mailPassword1">Password</label>
<html:password property="mailPassword1" styleClass="border" styleId="mailPassword1" />
</p>
<div><one:error property="mailPassword1" element="label" /></div>
誰もがトリックを行うかもしれないものの任意のアイデアを持っていますか? :) ありがとうございます。
は、htmlのですか? – Mark
あなたのブラウザ 'Console'で何が返されるのかを追加してください。 @PatrickZiebell –
いいえ、それはストラットです。 –