JQuery返回Uncaught Error:cordova已定义

时间:2016-05-30 08:43:04

标签: jquery cordova visual-studio-cordova

我正在开发一个cordova应用程序 - 我正在使用Cordova 6.2.0。

我收到一条未捕获错误:Cordova已经定义,点击按钮时。单击它时,通过使用Javascript删除display:none样式,可以看到一些以公共类名称分组的先前隐藏的组件。

错误源自JQuery。我尝试了不同版本的jQuery,包括最新版本。奇怪的是JQuery代码没有在被激活的脚本中使用。页面未重新加载。

在html中我调用这些脚本:

<script src="cordova.js"></script>
<script src="scripts/platformOverrides.js"></script>

<script src="scripts/jquery-1.11.1.min.js"></script>
<script src="js/jquery.mobile-1.4.5.js"></script>

同样在html中我有这两个按钮:

<button onclick="ForgotPassword()" style="background-color: #f79629; border-style:none; width: 200px; height: 40px; color: white; border-radius:5px;">Send Reset Code</button>
<button class="hideTD" id="CPbtn"      onclick="ChangePassword()" style="display:none; background-color: #f79629; border-style:none; width: 200px; height: 40px; color: white; border-radius:5px;">Change Password</button>

如您所见,隐藏了第二个按钮。单击第一个按钮时,这将与其他组件一起再次显示。

这是JS函数的开始 - ForgotPassword():

var username = document.getElementById("Username").value;

if (username != '') {
    $.ajax({
        type: 'GET',
        url: ResetPasswordUrl,
        data: { username: username },
        success: function (data) {

            if (data == '') {

                var nodes = document.getElementsByClassName("hideTD");

                for (var i = nodes.length, n = 0; n < i; n++) {
                    nodes[n].style.display = '';
                    }

                alert("A code has been sent to your email address");

单击发送重置代码后,将执行上述代码。 for循环访问其类为hideTD的所有组件,并删除display:none样式。据我所知,没有JQuery应该冲突;此外,已经定义了cordova错误对我没有意义。

1 个答案:

答案 0 :(得分:0)

解决了我的问题的原因是:

$("#form_id").submit(function () {
    return false;
});
OnDeviceReady()方法中的

。这是因为我有两个相同形式的按钮。我仍然无法解释错误'Cordova已经定义'。