web-dev-qa-db-ja.com

エラーメッセージが表示された場合、RSForm!Pro更新フォームクラス

エラーメッセージが表示された場合、RSForm!Proのフォームクラスを更新する最良の方法は何ですか?

これはjQueryまたはa PHPスクリプトを使用して行うことができますか?

エラーが表示されたときのコードは次のとおりです。

<form action="http://webaddresshere.com" enctype="multipart/form-data" class="formResponsive" id="userForm" method="post"><p class="error">Please complete all required fields!</p>
<h2>Inapub in your inbox</h2>
<!-- Do not remove this ID, it is used to identify the page so that the pagination script can work correctly -->
<fieldset id="rsform_5_page_0" class="formHorizontal formContainer">
    <div class="rsform-block rsform-block-intro">
        <p>Subscribe to our newsletter today to recieve the latest blogs and stories from the team and exclusive product offers</p>
    </div>
    <div class="rsform-block rsform-block-full-name">
        <div class="formBody"><input type="text" class="rsform-input-box" onfocus="this.value=''" id="Full name" name="form[Full name]" size="20" value="Full name"><span class="formValidation"><span class="formNoError" id="component47">Please enter your full name</span></span></div>
    </div>
    <div class="rsform-block rsform-block-email-address">
        <div class="formBody"><input type="text" class="rsform-input-box rsform-error" onfocus="this.value=''" id="email address" name="form[email address]" size="20" value="email address"></div>
    </div>
    <div class="rsform-block rsform-block-pubsupplier">
        <div class="formBody"><input type="checkbox" id="PubSupplier0" value="I work in a pub" name="form[PubSupplier][]"><label for="PubSupplier0">I work in a pub</label><input type="checkbox" id="PubSupplier1" value="I am a supplier" name="form[PubSupplier][]"><label for="PubSupplier1">I am a supplier</label></div>
    </div>
    <div class="rsform-block rsform-block-over-18">
        <div class="formBody"><input type="checkbox" id="Over 180" value="I confirm I'm over 18" name="form[Over 18][]"><label for="Over 180">I confirm I'm over 18</label></div>
    </div>
    <span class="formValidation"><span class="formError" id="component48">Please enter a valid email address</span></span>
<span class="formValidation"><span class="formError" id="component49">Please state you profession</span></span>
<span class="formValidation"><span class="formError" id="component50">Please confirm you are over 18.</span></span>
    <div class="rsform-block rsform-block-subscribe">
        <div class="formBody"><input type="submit" class="rsform-submit-button" id="Subscribe" name="form[Subscribe]" value="Subscribe"><span class="formValidation"></span></div>
    </div>
</fieldset>
<input type="hidden" value="5" name="form[formId]"></form>

エラーが発生した場合は、すべての必須フィールドに入力してください!

2
RustyJoomla

RSForm!Proがどのようにエラーメッセージを表示するかはわかりませんが、エラーが発生した場合は、クラスがdisplay: blockに設定された定義済みのHTML要素があると思います。

したがって、私が行うことをお勧めするのは、エラーを表示させてから、エラー要素を調べてクラスを確認し、次のjQueryを使用できるようにすることです。

jQuery(document).ready(function($){

    var errorMsg = $('.formError');

    if( errorMsg.is(':visible') ){          
        errorMsg.parents('.formResponsive').addClass('something');          
    } 

});
1
Lodder