当我使用ajax提交包含带有“maxlength”属性的文本字段的表单时,我收到一个
javascript错误:Uncaught SyntaxError:Unexpected token u(jquery-1.9.1.min.js:3)
我的HTML,将我的页面剥离到最低限度以复制问题:
<html> <head> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <script src="/Scripts/jquery.unobtrusive-ajax.js"></script> <script src="/Scripts/jquery.validate.js"></script> <script src="/Scripts/jquery.validate.unobtrusive.js"></script> </head> <body> <form action="#" data-ajax="true" id="form0" method="post"> <input id="deposit" name="numberValue" type="text" class="despositInput" maxlength="8" value="1000"> <input type="submit" value="go"> </form> </body> </html>
无法弄清楚我做错了什么 – 也许Visual Studio模板提供的jquery脚本是不兼容的?我很感激任何帮助,谢谢.
这似乎是
Microsoft.jQuery.Unobtrusive.Validation与jQuery 1.9>组合的错误.
原文链接:https://www.f2er.com/ajax/160019.html我重现了你的问题,并通过在你的html中添加一个带有必需属性的div来解决它,以防止将未定义的提供给json解析.
<form action="#" data-ajax="true" id="form0" method="post"> <div data-valmsg-for="numberValue" data-valmsg-replace="true">deposit not valid</div> <input id="deposit" name="numberValue" type="text" maxlength="8" value="1000"> <input type="submit" value="go"> </form>
此问题还有一个Microsoft Connect问题.同时投票决定在微软内部优先考虑.