EXTJS设置emptyText的问题

遇到问题如下:

设置emptyText后,使用

form.getForm().submit({
url : '/myAction.do?method=save',
})

就会把emptyText内容提交到后台

 

方法如下:

3.0一下版本的Ext设置方式:

在有效性检验时需要对表单元素的提交的数据和该表单元素的emptyText比较,如果相同,说明用户没有输入任何文本;如果不同并且非空,说明是用户填写的内容。

var thisForm = updateEnForm.getForm();
if (thisForm.isValid()) {
	var submitValues =  thisForm.getValues();  
    //  修正emptyText造成的提示语句当做value值传递到后台  
    //  如果是emptyText就改为''  
    for (var param in submitValues) {  
        if (thisForm.findField(param).emptyText == submitValues[param]) {  
            submitValues[param] = '';  
        }  
    }
    updateEnForm.getForm().doAction('submit', {
        url : 'doEnterprise.base?doType=updateEn',
        method : 'POST',
        params:submitValues,
        waitMsg:"保存中,请稍后...",
        success : function(form,action){
    		Ext.Msg.alert('成功', "修改单位信息成功!");
    		win_updateEn.hide();
    		enStore.load({params:{start:0, limit:<%=Configuration.getConfig().getString("pageSize","40")%>}});
    	},
        failure : function(form,action) {
            Ext.Msg.alert('失败', "保存节点信息失败!");
        }
    });			                         
}

 

 

3.0以上版本的Extjs:只需在submit时加入一句话即可:submitEmptyText:false

扫描二维码关注公众号,回复: 595203 查看本文章
var thisForm = updateEnForm.getForm();
if (thisForm.isValid()) {
    updateEnForm.getForm().doAction('submit', {
        url : 'doEnterprise.base?doType=updateEn',
        method : 'POST',
        submitEmptyText:false,
        waitMsg:"保存中,请稍后...",
        success : function(form,action){
    		Ext.Msg.alert('成功', "修改单位信息成功!");
    		win_updateEn.hide();
    		enStore.load({params:{start:0, limit:<%=Configuration.getConfig().getString("pageSize","40")%>}});
    	},
        failure : function(form,action) {
            Ext.Msg.alert('失败', "保存节点信息失败!");
        }
    });			                         
}

 

 

 

 

 

猜你喜欢

转载自zyjustin9.iteye.com/blog/2113610