2014-01-03 2 views
2

Я использую dojo 1.5. Я создаю образец мастера. Ниже кодКак отключить кнопку «Далее» в wizardpane в DOJO

<div class="floater"> 
    <p>This example shows a wizard with customized button labels.</p> 

    <div id="wizard1" dojoType="dojox.widget.Wizard" hideDisabled="true" previousButtonLabel="test" nextButtonLabel="Go on" doneButtonLabel="Finish"> 
     <div dojoType="dojox.widget.WizardPane" > 
      // Here some html form , User has to fill all information 
     </div> 
     <div dojoType="dojox.widget.WizardPane"> 
      <h1>Tab 2</h1> 
     </div> 
     <div dojoType="dojox.widget.WizardPane"> 
      <h1>Tab 3</h1> 

      You won't be able to come back, but you can finish now... 

     </div> 
     <div dojoType="dojox.widget.WizardPane" > 
      <h1>Tab 4</h1> 

      ... and now you can't go back. 
     </div> 
     <div dojoType="dojox.widget.WizardPane" doneFunction="done" > 
      <h1>Tab 5</h1> 
      ... and now you can finish up. 

     </div> 


    </div> 
</div> 

Я хочу, чтобы скрыть следующую кнопку, которая имеет метку «Перейти на» для первой панели мастера сезам пользователя заполнить всю информацию от первой панели. Поэтому можете ли вы предложить, как отключить кнопку «Далее» от мастера, когда она была первоначально загружена.

ответ

0

Я не знаю точно, что лучший способ сделать это. Если вы используете dijit.form.Form, вы можете использовать его метод onValidStateChange и включить/отключить кнопку там.

var toggleWizardButton = function(valid) { 
    dijit.byId("theWizard").nextButton.set("disabled",!valid); 
    //if(valid) { /* enable "Go on" button here.. */ } 
    //else  { /* opposite.. */ } 
}; 
var form = dijit.byId("theFormInWizardPane1"), 
    wiz1 = dijit.byId("theWizard"); 

dojo.connect(form, "onValidStateChange", toggleWizardButton); 
wiz1.nextButton.set("disabled",true); // button disabled by default 

Пример скрипка: http://jsfiddle.net/VQM2k/1/

Альтернатива, возможно, лучший способ, чтобы просто использовать WizardPane-х passFunction, что при возвращении лжи, будет препятствовать мастеру двигаться вперед. В нем вы можете получить форму и проверить, действительно ли она или нет (вроде как ваш другой вопрос :)).

<div dojoType="dojox.widget.WizardPane" passfunction="passfunction" > 
    // Here some html form , User has to fill all information<br/><br/> 
    <form id="myForm" dojoType="dijit.form.Form"> 
     Name: <input dojoType="dijit.form.ValidationTextBox" required="true" /> 
    </form> 
</div> 

passfunction может просто быть что-то вроде этого:

var passfunction = function() { 
    var form = dijit.byId("myForm"); 
    return form && form.validate(); 
}; 

Fiddle: http://jsfiddle.net/VQM2k/

+0

Благодаря Фрод. Это очень полезно для меня. Вы знаете, есть ли какое-либо свойство додзё, используя эту кнопку? – user2987741

+0

@ user2987741 Вы можете просто установить для своего свойства disabled значение true. Я обновил ответ. – Frode

+0

Спасибо Frode ... – user2987741

Смежные вопросы