在ajax表单提交上输入maxlength字段会导致“Uncaught SyntaxError:unexpected token u”

前端之家收集整理的这篇文章主要介绍了在ajax表单提交上输入maxlength字段会导致“Uncaught SyntaxError:unexpected token u”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我使用ajax提交包含带有“maxlength”属性的文本字段的表单时,我收到一个 javascript错误:Uncaught SyntaxError:Unexpected token u(jquery-1.9.1.min.js:3)

如果我删除maxlength属性一切正常.

我的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>组合的错误.

在这个blog中,建议使用js文件的补丁

我重现了你的问题,并通过在你的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问题.同时投票决定在微软内部优先考虑.

原文链接:https://www.f2er.com/ajax/160019.html

猜你在找的Ajax相关文章