easyui easyui-validatebox编辑问题 本帖最后由 a4562834 于 2013-05-13 15:55:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的验证规则是:<input class="easyui-validatebox" type="text" id="inputNameUp" name="Name" data-options="required:true,validType:'length[1,32]'" />其他地方没有做验证,难道赋值之后还要用js方式来验证? data-options="required:true,validType:'length[1,32]'"这个规则你的值是完全符合的。我猜测应该是没有再次触发验证规则造成的。你不防这样做一下:页面执行完后,让输入框执行一下离开焦点的动作,触发验证: $(function(){ $("#inputNameUp").blur(); });而第一个输入框它可能是自动触发了,从第二个起就没法自动触发了。 其实我是刚接触easyui没多久,我是觉得要另外写js会很麻烦,因为每个页面都要写,我是想找有没有一种方法通过修改样式表或者其他某个地方一个属性就能解决问题的,如果要另外写js的话,我自己的解决方案是去掉class先将文本赋值,然后再用js把它绑定为easyui的控件。 你要从本质上了解问题所在先。你这个是js弹窗,而且我猜想是页面加载进来时就已经存在的,输入框也是事先渲染好的。你点每个编辑按钮应该弹出都是共同的这个窗口,对不?所以你点其中一个“编辑”按钮时,它弹出来,正常情况下它是没有触发验证,也就不会出现什么样式与提示,而你赋值是直接使用js(ajax或读取val)直接赋值,而这个过程也不会触发验证规则。问题来了:当你弹出窗口删除框内的值后(已经提示错误了),你然后点取消后或者直接点别的编辑按钮,那么就算有值它也还是会提示错误,原因就是没有再次触发验证,所以在你赋值后直接让输入框触发一下事件$("#inputNameUp").val('SD').focus().blur()就完事了,你非要干掉class又再绑成easyui的控件再渲染,那我们也没意见! 赋值过后再让他验证一次:$("#xxx").validatebox('validate'); $('#divForm').validatebox({ required:false }); 这个是挺好用的。但是#7 的问题也值得关注呢。 已经渲染了,再次打开的话验证状态也还在,又要一个一个去removeClass... 好用。但是验证过的,再次打开tip还在,需要removeClass... 你是先open dialog然后再赋值,你需要在重新渲染一次easyui $.parser.parse('#dlg'); 有关setTimeout的问题 获取子窗口div id的方法 js兼容Firefox 求助, href后面写方法的问题 ExtJS 3.x 中的ajax不能实现同步提交吗? 我是一个javascript新新手,我下面这段代码这样写没有结果,为何不行.....?谢. 如何得到窗口的高度 这段验证表单里的文本框是否输入正确的邮箱账号为何不行呢? jqueryEasyui的datagrid分页显示数据的问题 登录后无法跳转到指定页面 javascript中如何替换word中的文本框内容 js中怎么为<s:checkboxlist>下的每个checkbox添加onclick事件
<input class="easyui-validatebox" type="text" id="inputNameUp" name="Name" data-options="required:true,validType:'length[1,32]'" />
其他地方没有做验证,难道赋值之后还要用js方式来验证?
这个规则你的值是完全符合的。我猜测应该是没有再次触发验证规则造成的。你不防这样做一下:页面执行完后,让输入框执行一下离开焦点的动作,触发验证:
$(function(){
$("#inputNameUp").blur();
});
而第一个输入框它可能是自动触发了,从第二个起就没法自动触发了。
其实我是刚接触easyui没多久,我是觉得要另外写js会很麻烦,因为每个页面都要写,我是想找有没有一种方法通过修改样式表或者其他某个地方一个属性就能解决问题的,如果要另外写js的话,我自己的解决方案是去掉class先将文本赋值,然后再用js把它绑定为easyui的控件。
你这个是js弹窗,而且我猜想是页面加载进来时就已经存在的,输入框也是事先渲染好的。你点每个编辑按钮应该弹出都是共同的这个窗口,对不?
所以你点其中一个“编辑”按钮时,它弹出来,正常情况下它是没有触发验证,也就不会出现什么样式与提示,而你赋值是直接使用js(ajax或读取val)直接赋值,而这个过程也不会触发验证规则。问题来了:当你弹出窗口删除框内的值后(已经提示错误了),你然后点取消后或者直接点别的编辑按钮,那么就算有值它也还是会提示错误,原因就是没有再次触发验证,所以在你赋值后直接让输入框触发一下事件$("#inputNameUp").val('SD').focus().blur()就完事了,你非要干掉class又再绑成easyui的控件再渲染,那我们也没意见!
$("#xxx").validatebox('validate');
required:false
});
这个是挺好用的。但是#7 的问题也值得关注呢。 已经渲染了,再次打开的话验证状态也还在,又要一个一个去removeClass...
好用。但是验证过的,再次打开tip还在,需要removeClass...