如何查看几个表单字段是否为空?

时间:2013-10-29 12:22:26

标签: extjs

我正在使用ExtJS 3.4.0

我在“var new”变量中有一个表单,它来自Ext.Window()。

我需要执行在textfield和textarea之间进行检查的代码是否为空。

我的意思是如果textfield为空且textarea不是那么表单数据可以反过来提交。

此代码必须放在如下所示的代码中:

newform
.getForm()
.submit(

2 个答案:

答案 0 :(得分:0)

我希望你能在我的例子中找到

Ext.onReady(function(){


var newForm=Ext.create('Ext.form.Panel',{

            title:"Form",
            items:[
                  {
                   xtype:"textfield",
                   fieldLabel:"Name"
                  },
                  {
                        xtype     : 'textareafield',
                        name      : 'message',
                        fieldLabel: 'Message'

                    }

                  ],
            renderTo:document.body
  });

              var win= new Ext.Window
                    ({
                     title:"Window",
                     layout:'fit',
                     height:250,
                     width:300,
                     items:[newForm],
                     buttons:[
                              { 
                               text:"Submit",
                               handler:function(){
                                 var textFieldValue=newForm.items.items[0].getValue();
                                 var textAreaValue=newForm.items.items[1].getValue();
                                 if(textFieldValue!=""||textAreaValue!=""){
                                   alert("you can submit the data");
                                   }
                                   else{
                                   alert("you can't submit the data");
                                   }
                                }
                              }
                             ]
                   }).show();

});

答案 1 :(得分:0)

以下示例显示了包含文本字段和文本区域的表单。两者都是强制性的。

allowBlank:指定false以验证值的长度是否必须为> 0.如果为true,则无论可能应用何种vtype验证,空白值始终有效。

validate():布尔值 通过验证字段的当前值返回字段值当前是否有效,并在字段的有效性自上次验证后发生更改时触发validitychange事件。注意:已禁用的字段始终视为有效。

请参阅:http://docs.sencha.com/extjs/6.2.0/classic/Ext.form.Panel.html#ext-form-panel_example-usage

中的示例
Ext.create('Ext.form.Panel', {
    title: 'Simple Form',
    bodyPadding: 5,
    width: 350,

    // The form will submit an AJAX request to this URL when submitted
    url: 'save-form.php',

    // Fields will be arranged vertically, stretched to full width
    layout: 'anchor',
    defaults: {
        anchor: '100%'
    },

    // The fields
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'First Name',
        name: 'first',
        allowBlank: false,
        validator: function(val) {
            return (val.trim().length > 0) ? true : "This field may not be empty";
        }
    }, {
        xtype: 'textarea',
        fieldLabel: 'Last Name',
        name: 'last',
        allowBlank: false,
        validator: function(val) {
            return (val.trim().length > 0) ? true : "This field may not be empty";
        }
    }],

    // Reset and Submit buttons
    buttons: [{
        text: 'Reset',
        handler: function() {
            this.up('form').getForm().reset();
        }
    }, {
        text: 'Submit',
        formBind: true, //only enabled once the form is valid
        disabled: true,
        handler: function() {
            var form = this.up('form').getForm();
            if (form.isValid()) {
                form.submit({
                    success: function(form, action) {
                        Ext.Msg.alert('Success', action.result.msg);
                    },
                    failure: function(form, action) {
                        Ext.Msg.alert('Failed', action.result.msg);
                    }
                });
            }
        }
    }],
    renderTo: Ext.getBody()
});