2012-03-22 25 views
-2

5つのフォーム入力フィールドを持つ高度な検索divがあります。このdivはデフォルトでは表示されず、検索フォームの一部です。ユーザーが結果ページからこのページに戻ると、5つのフィールドのいずれかが設定されていると仮定してdivを表示します。フォームの入力フィールドに基づいてdivを表示/非表示

function HideDiv() { 
     $('.slide').hide(); 
    } 
    function ShowDiv(ctrl) { 
     HideDiv(); 
     $('#' + ctrl).show(); 
    } 
    ShowDiv('Basic'); 
+2

あなたの質問は何ですか? – Sparky

+1

入力が変更されたときにイベントをリッスンし、value.lengthが5かどうかを調べるべきですか? ansはそれを表示するように設定します:ブロック? –

+0

まあ、私のコードは動作しないようです – gek

答えて

0

あなたは、ページの読み込み時にフォームの入力要素を確認したい場合は、それらが中に含まれています

HTMLは

<a class="toggle-link" onclick="ShowDiv('Adv');">+ show advanced fields</a> 

    <div id="Adv" class="slide hidden"> 
    <form> 
    <input type="text" name="first_name"> 
    <input type="text" name="last_name"> 
    <input type="text" name="street"> 
    <input type="text" name="town"> 
    <input type="text" name="country"> 
    </form> 
    </div> 

<a onclick="ShowDiv('Basic');">- hide advanced fields</a> 

/非表示、既存のjQueryコードでは、divタグが表示さdiv(idが 'Adv')の場合は、文書準備完了イベント内で小切手を実行する必要があります。

フィドルはhereです。

これは、ページがロードされているときに入力が入力されている(データを含む)場合にのみ機能します。

あなたの質問が更新された後、私はフィドルhereを更新しました。

+1

これは私が探していたものですが、残念ながらうまくいかないようです。私のページには、フォーム内の5つのフィールドのうちのいくつかのデータが含まれていますが、divが隠して表示されています。 – gek

+0

トグルリンク私は今一緒に壊れているので変更する必要はないと思います。私はあなたがそれなしで提出した最初のコードは、それは私には意味がありましたが、残念ながら入力フィールドにはいくつかの値が設定されていてもdivはまだ隠されています.... – gek

+0

これはhttp://jsfiddle.net/VBS4E/6 /。 –

関連する問題