2012-05-10 2 views
1

В соответствии со следующим кодом текстовое поле имени не может быть пустым. Когда пользователь нажимает на текстовое поле и решает оставить его пустым, ошибка выскочит.Проверка текстового поля

Но если пользователь нажимает кнопку напрямую, не нажимая на текстовое поле, он отправляется и сообщение об ошибке не отображается. Так что я хочу, чтобы предупредить пользователя, когда пользователь нажимает кнопку отправки, если он/она оставил пустой в текстовом поле name.

{ 
    xtype:'textfield', 
    name:'name', 
    label:'name', 
    required: true, 
    listeners: { 
     blur: function(thisTxt, eventObj) { 
      var val= thisTxt.getValue(); 
      if (val.length==0) { 
        // display alert 
      } 
     } 
    } 
}] 
}, 
{ 
    xtype:'button', 
    id:'new-note-btn', 
    text:'Send', 
    ui:'confirm', 
    padding:5 
} 
} 

ответ

1

Дайте некоторое id свойство вашего textfield и сделать как ниже код ..

xtype:'textfield', 
name:'name', 
id: 'textId', 
..... 
...... 

и

{ 
    xtype:'button', 
    id:'new-note-btn', 
    text:'Send', 
    ui:'confirm', 
    padding:5, 
    listeners : { 
     tap : function() { 
      if(Ext.getCmp('textId').getValue()=="") { 
       // display the alert .. 
      } 
     } 
    } 
} 

Примечание: Если textfield случается в вашем formpanel, то вы получаете значения formpanel, а затем попытаетесь получить доступ к этому textfield, используя свойство name, как показано ниже.

// Assuming formpanel id = 'formPanelId' ... 

listeners : { 
    tap : function() { 
     var values = Ext.getCmp('formPanelId').getValues(); 
     var nameValue = values.name; 
     if(nameValue == "") { 
       // display the alert .. 
     } 
    } 
} 
Смежные вопросы