2013-07-26 4 views
0

Il y a deux fenêtres contextuelles. Le second apparaît à la place du premier si showAlert(text) renvoie la valeur true (voir le code de travail ci-dessous).Sencha Touch 2: boîtes de message récursives

Comment le modifier de façon à afficher le premier message tout le temps sur OK du deuxième message?

En conséquence, il ressemble à:

1. Please enter your email. 
2. If email is correct, then go to step 5. 
3. Please, fix your email. Click OK. 
4. Go to step 1. 
5. Success. Finished. 

Mon code de travail est ci-dessous.

Ext.Msg.prompt(
    'My Title', //The title bar text 
    'This is the first message', //The message box body text 
    function (btn, text) { 
     if (btn == 'ok') { 
      if (showAlert(text)) { 
       Ext.Msg.alert('', 'Please, fix it');//to show first message upon OK button 
      } else { 
       //do something useful 
      } 
     } 
    }, 
    //some more params 
); 

Répondre

1

Faites votre appel une fonction, et appeler cette fonction comme le rappel si l'e-mail est pas valide:

function showPrompt() { 
    Ext.Msg.prompt(
     'My Title', //The title bar text 
     'This is the first message', //The message box body text 
     function (btn, text) { 
      if (btn == 'ok') { 
       if (showAlert(text)) { 
        Ext.Msg.alert('', 'Please, fix it', showPrompt); 
       } else { 
        //do something useful 
       } 
      } 
     }, 
     //some more params 
    ); 
}