您的位置:首页 > Web前端 > JavaScript

EXTjs中关于form验证,emptyText属性的问题

2013-03-29 00:00 232 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息