2010-04-14 4 views
4

J'ai une fenêtre jQuery Model qui contient un formulaire.jQuery + Simple Dialog

Lors de la création de la page, je suis en mesure de voir les champs bien que dans ma boîte de dialogue, j'ai défini autoOpen sur false.

Tous les formulaires sont dans un div.

un échantillon de ma boîte de dialogue ressemble à ceci:

$("#dialog-form").dialog({ 
       autoOpen: false, 
       height: 460, 
       width: 750, 
       modal: true, 
       buttons: { 
        'Create Map': function() { 
         document.registerFrm.submit(); 
        }, 
        Cancel: function() { 
         $(this).dialog('close'); 
        } 
       }, 
       close: function() { 
        allFields.val('').removeClass('ui-state-error'); 
       } 
      }); 

Toute façon de résoudre, je ne veux pas que les champs de formulaire pour être visibles de la charge/création de la page.

+0

Le div id ont une forme de dialogue? –

+0

Oui James, la forme de boîte de dialogue est le nom de l'id dans le div – Vivek

Répondre

5

Vous devez cacher d'abord vis CSS, comme ceci:

#dialog-form { display: none; } 

L'ouverture de la boîte de dialogue provoquera à afficher ... c'est ce que les auteurs du widget de dialogue vous attendent à faire: Sinon, cachez la div contenant tous les formulaires ... ce que vous ne voulez pas cacher juste display:none sur cette enveloppe, la boîte de dialogue va saisir et montrer ce qui est dedans et le montrer en conséquence (juste ne pas faites le display sur chaque enfant, seulement le wrapper), comme ceci:

<div style="display: none;"> 
    <div id="dialog-form">fields here</div> 
    <div id="dialog-form2">fields here</div> 
</div> 

Ou ceci:

<div id="dialog-form" style="display: none;"> 
    fields here 
</div> 
+0

Nice, même pensé que je sais sur le style, je n'étais pas au courant de ces choses. Merci!! – Vivek