2016-05-30 9 views
1

Ich entwickle eine Cordova-Anwendung- Ich verwende Cordova 6.2.0.JQuery returning Uncaught Fehler: cordova bereits definiert

Ich bekomme einen Uncaught Error: Cordova bereits definiert, wenn man auf eine Schaltfläche klickt. Wenn Sie darauf klicken, werden einige zuvor verborgene Komponenten, die nach einem gemeinsamen Klassennamen gruppiert sind, sichtbar gemacht, indem Sie die Anzeige: none style mit Javascript entfernen.

Der Fehler stammt von JQuery. Ich habe verschiedene Versionen von jQuery einschließlich der neuesten Version ausprobiert. Was seltsam ist, ist die Tatsache, dass JQuery-Code nicht in dem befeuerten Skript verwendet wird. Die Seite wird nicht erneut geladen.

Im html Ich rufe diese Skripte:

<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> 

Auch im html Ich habe diese 2 Tasten:

<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> 

Wie Sie die zweite Taste ausgeblendet ist zu sehen. Dies wird zusammen mit anderen Komponenten wieder sichtbar gemacht, wenn Sie auf die erste Schaltfläche klicken.

Dies ist der Beginn der Funktion 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"); 

Auf die Senden Zurücksetzen-Code klicken, wird der obige Code ausgeführt wird. Die for-Schleife besucht alle Komponenten, deren Klasse hideTD ist, und entfernt den Stil display: none. Soweit ich weiß, gibt es keine JQuery, die in Konflikt geraten sollte; Außerdem ist die Cordova bereits definiert Fehler macht für mich keinen Sinn.

+0

Entschuldigung für das Abstimmen, aber es wird kein Code zur Verfügung gestellt. – nyluje

+0

Ok Wir fügen Code hinzu: –

+0

Code hinzugefügt. Danke, –

Antwort

0

Was mein Problem behoben wurde und fügte hinzu:

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

im OnDeviceReady() -Methode. Dies liegt daran, dass ich 2 Schaltflächen in derselben Form habe. Ich kann den Fehler "Cordova ist schon definiert" nicht erklären.

Verwandte Themen