0
显示无效的表单字段(上问题请遵循Placeholder Hidden)Webshims - 初始加载
我想我的形式加载时,以验证现有的数据。我似乎无法让这样的事情发生
- 我在我的控制jQuery.each并调用焦点()和模糊(),有没有比这更好的办法?我试图调用ctrl.checkValidity(),但它并不总是定义。当它是,它仍然没有标记的控制。
- 我似乎也有一个时间问题,而焦点和模糊()火,UI不更新。就好像Webshim尚未完全加载,尽管这会引发$ .webshims.ready事件。
- 我也尝试调用$('#form')。submit(),但是这并不像我预期的那样触发事件。我能做到的唯一方法就是包含一个输入类型='submit'。我如何可以像点击提交按钮那样务实地进行表单验证呢?
这里有一个jsFiddle演示该问题。当表单加载时,我想将无效的电子邮件标记为这样。如果你点击添加按钮,它会被标记,但最初加载时不会。为什么?
- 焦点和模糊的控制将导致其被标记。
但是,点击添加也会(它运行与它被加载时运行相同的方法)。它为什么第二次运行,但最初加载时不运行?
updateValidation : function() { this.$el.find('[placeholder]').each(function (index, ctrl) { var $ctrl = $(ctrl); if($ctrl.val() !== "" && (ctrl.checkValidity && !ctrl.checkValidity())) { // alert('Do validity check!'); $ctrl.focus(); $ctrl.blur(); } }); }
我看到这个FF 17.0.5。 IE9中的问题更严重,有时会在字段显示错误之前进行2次或3次点击添加。但是,由于MIME类型不匹配,我收到了一些我喜欢的js文件的错误。
完美!第一个选项效果很好!非常简洁的代码 - 我喜欢它。虽然我得到你不建议第二选择,这是否也是模仿输入类型提交的技巧? –
我真的不明白,你想要什么。本机验证用户界面仅在用户提交或脚本类型=“提交”点击时显示。第二个选择模拟:user-error伪,这意味着该字段无效+用户触及。 –