markInvalid

Alice 2010-11-02 12:45:51
页面上有两个值在输入时比较大小关系,若大于提示不对,标记为红框,若在页面提交保存时没有修改正确就不能提交保存到数据库中,我现在的问题是:
在提交的时候怎么知道页面上有标记红框了呢?

这段代码是判断关系
'blur':function(e)
{//判断
if((selectedCol==5 || selectedCol==6) && Ext.getCmp('fy_'+cmJ01[selectedRow][2]).value!=0 && Ext.getCmp('sh_'+cmJ01[selectedRow][2]).value!=0)
{
if(Ext.getCmp('fy_'+cmJ01[selectedRow][2]).value*1<=Ext.getCmp('sh_'+cmJ01[selectedRow][2]).value*1)
{
Ext.getCmp('fy_'+cmJ01[selectedRow][2]).markInvalid("逻辑关系不符合");
Ext.getCmp('sh_'+cmJ01[selectedRow][2]).markInvalid();
}
else
{
Ext.getCmp('fy_'+cmJ01[selectedRow][2]).clearInvalid();
Ext.getCmp('sh_'+cmJ01[selectedRow][2]).clearInvalid();
}
}

}
//提交代码

我想在这个地方得到哪个框有标记红色了,就提示数据有误,不能提交。
这块不会了,请问高手,怎么解决?
...全文
192 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1.如楼上所说,用全局变量来标记。

2.既然可以标记红框,就可以获取红框及其状态。看你对用的EXT库的掌握程度了。
liyoubaidu 2010-11-02
  • 打赏
  • 举报
回复
再次看你的题目,如果你要用'blur'提交,

你可以自定义textfield的validator,
在ajax的beforerequest事件(不太清楚是不是这个事件了)里,调用form.form.isValid()进行验证判断。
liyoubaidu 2010-11-02
  • 打赏
  • 举报
回复
你好,markInvalid只是在ui层面上标识错误而已。

不知道你想干什么,如果想激发验证的话,用validate方法;如果想自定义验证方法的话,用validtor配置节点。

希望对你有帮助。
leehuat 2010-11-02
  • 打赏
  • 举报
回复
if(form.form.isValid()){
form.form.submit();
}

这样你在输入非法字符、空时候提交不到服务器了
leehuat 2010-11-02
  • 打赏
  • 举报
回复
if(isValid()){
form.form.submit();
}

这样你在输入非法字符、非空时候提交不到服务器了
Alice 2010-11-02
  • 打赏
  • 举报
回复
对,是文本框
hch126163 2010-11-02
  • 打赏
  • 举报
回复
你是用文本框失去焦点时判断的?

你可以用一个全局变量来保存是否通过验证

var isChecked = {};

var blurFun =function(e){
if(条件一){
isChecked.条件一 = true;
}else{
isChecked.条件一 = false;
}

if(条件二){
isChecked.条件二 = true;
}else{
isChecked.条件二 = false;
}
。。。。
}
提交时:
if(isChecked.条件一 && isChecked.条件二 ){
允许提交
}else{
填写有误!
}

52,780

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧