1

同じページで 2 つの重力フォームを使用できません。まず、各フォームは非表示の「div」にあり、ユーザーは他のフォームを表示/非表示にする 3 つのラジオ ボタンから選択する必要があります。この部分は機能します、検証に失敗すると、ページが更新され、フォームが非表示になります。検証が失敗した理由を確認するには、同じ無線を再度クリックする必要があります。また、ajax モードを使用するように重力フォームを設定しましたが、問題は解決しません。

これは私のJavaScriptがどのように見えるかです:

<script type="text/javascript">

    jQuery(document).ready(function(){ 

        jQuery(".cdiv").hide();

        jQuery("input[name=contact_type]").change(function() {
            var _div_id = jQuery(this).val();
            jQuery(".cdiv").hide('slow');
            jQuery("#"+_div_id).show('slow');
        }); 
    });

</script>

HTML は次のようになります (HTML を短くするためにフォームを削除しました)

<input type="radio" name="contact_type" value="c1" /> Careers <br />
<input type="radio" name="contact_type" value="c2" /> Partner with us <br />
<input type="radio" name="contact_type" value="c3" /> Media Inquiries <br />

<div class="cdiv" id="c1">
[career info here]
</div>

<div class="cdiv" id="c2">
form 1 loads here
</div>


<div class="cdiv" id="c3">
form 2 loads here
</div>

あなたの助けと提案は大歓迎です。ありがとう!

4

1 に答える 1

0

Webページはステートレスです-ロード(またはリロード)すると、以前の状態が何であったかがわかりません。

状態を復元するのはあなた次第です。したがって、この状態をどこかに記録する必要があります。これは通常、URLハッシュまたはCookieに保存されます。

これがURLハッシュでどのように機能するか(これを行うにはコードを記述する必要があります):

ユーザーがラジオボタンの1つをクリックすると、document.location.hash「b1」などの既知の値に設定されます。

次に、ページがリロードされるときに、document.location.hash(JSを使用して)の現在の値を確認し、値が「b1」の場合、ユーザーがラジオボタン#1を押したことを確認します。次に、スクリプトに適切なパネルが表示されます。

于 2012-09-06T20:15:23.043 に答える