.submit函数在使用kendo验证器无效时未运行
.submit function not running when invalid with kendo validator
我有一个通过剑道验证器验证的表单,当表单无效时,除了通常标记无效字段外,我还需要一些事情来处理。不幸的是,除非整个表单都是有效的,否则通过submit方法绑定的函数似乎会被阻止。
例如,这种行为似乎发生在Telerik自己的一个演示中:http://demos.telerik.com/kendo-ui/validator/index
它包含代码:
var validator = $("#ticketsForm").kendoValidator().data("kendoValidator"),
status = $(".status");
$("form").submit(function(event) {
event.preventDefault();
if (validator.validate()) {
status.text("Hooray! Your tickets has been booked!")
.removeClass("invalid")
.addClass("valid");
} else {
status.text("Oops! There is invalid data in the form.")
.removeClass("valid")
.addClass("invalid");
}
});
if块在表单上所有内容都已填写且有效时运行,但else块从不激发。事实上,插入一些alerts()表明,除非整个表单有效,否则整个函数不会运行。这似乎与submit方法的jQuery文档形成了对比(https://api.jquery.com/submit/),其中功能类似的函数在任何提交尝试中运行。我唯一能猜测的是,剑道验证器的某些东西阻止了这种情况的发生,但我似乎无法找到替代方案。
看起来kendo会在单击按钮时自动验证表单,而当验证失败时,kendo会停止事件传播,jquery submit也不会启动。
您可以将按钮替换为锚点:
<a id="buttonSubmit" class="k-button k-primary">Submit</a>
然后绑定点击事件手动验证:
$("#buttonSubmit").click(function(event) {...
并重命名status
变量,因为它是保留字:
status2 = $(".status");
看看如何正确建立"规则"
http://docs.telerik.com/kendo-ui/framework/validator/overview#error-消息
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Angularjs代码未在匿名函数中运行
- jquery设置为使用参数运行
- 如何根据时间运行不同的脚本
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- JavaScript运行时错误:无效字符
- Javascript语法在Safari/Webkit中无效,在Chrome/Firefox中运行良好
- 带有谷歌地图和天气图像的网页只能在IE中运行,在Chrome中无效
- 确定 Google 地图 API 在运行时是否使用了无效密钥
- KendoGrid JavaScript 运行时错误:模板无效
- 链接按钮运行的代码无效
- JavaScript运行时错误:无效字符(JSON.parse)
- .submit函数在使用kendo验证器无效时未运行
- JavaScript运行时错误:使用JSON.parse的字符无效
- 在使用javascript向下拉列表添加项目并运行服务器端代码后,无效的回发或回调参数
- 代码在运行节点控制台时有效,但在调用节点
时无效