JQuery返回未捕获错误: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中,我有这2个按钮:

<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已经定义错误对我来说没有意义。

是什么解决了我的问题,添加了:

$("#form_id").submit(function () {
return false;
});

在OnDeviceReady()方法中。这是因为我有两个相同形式的按钮。我仍然无法解释错误"Cordova已经定义"。

最新更新