ext的form中我们验证,用到emptyText属性的时候,这个相当于一个defalutValue,所以在form提交的时候,会传到后台去,而这不是需要的,我们需要的是只是提示,没有填写的时候,传' '过去.
解决的办法:
只要在表单submit提交之前,加属性 submitEmptyText: false,就能解决这个问题了。
还有一种解决办法:
在有效性检验时需要对表单元素的提交的数据和该表单元素的emptyText比较,如果相同,说明用户没有输入任何文本;如果不同并且非空,说明是用户填写的内容。
var thisForm = formInsert.getForm();
if (thisForm.isValid()) {
var submitValues = formInsert.getForm().getValues();
// 修正emptyText造成的提示语句当做value值传递到后台
// 如果是emptyText就改为''
for (var param in submitValues) {
if (thisForm.findField(param) && thisForm.findField(param).emptyText == submitValues[param]) {
submitValues[param] = '';
}
} return;
thisForm.submit({
也是在表单submit之前处理好就行了.
以上是该问题的解决方法。
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0