2010-09-24 5 views
0

Je veux faire une calculatrice..tout le code de calcul est donné dans le fichier javascript..Je ne veux pas faire tout le calcul à nouveau ..? Peut-il y a une méthode qui peut appeler directement les méthodes données dans le fichier javascript ...?fichier javascript dans l'iphone ...?

exemple

de fichier javascript est ici ---

function reset() { 
D6080One.resetAll(); 
D6080Multi.resetAll(); 
IsoOne.resetAll(); 
IsoMulti.resetAll(); 
} 


/** 
* D6080 Extended One pump 
*/ 

function D6080One() {} 

D6080One.fillEquipment = function() { 
    document.getElementById("d6080one-equip").options.length = 0; 
    for(var i = 0; i < nfpa.length; ++i) { 
     if(nfpa[i][0] == document.getElementById("d6080one-manu")[document.getElementById("d6080one-manu").selectedIndex].value) { 
      document.getElementById("d6080one-equip").options[document.getElementById("d6080one-equip").options.length] = new Option(nfpa[i][1], nfpa[i][1]); 
     } 
    } 
    document.getElementById("d6080one-equip").selectedIndex = 0; 
} 

D6080One.resetAll = function() { 
    document.getElementById("d6080one").reset(); 
    D6080One.fillEquipment(); 
} 

D6080One.resetResults = function() { 
    document.getElementById("d6080one-suv").value = ""; 
    document.getElementById("d6080one-sut").value = ""; 
    document.getElementById("d6080one-maxov").value = ""; 
    document.getElementById("d6080one-minot").value = ""; 
    document.getElementById("d6080one-hov").value = ""; 
    document.getElementById("d6080one-lot").value = ""; 
    document.getElementById("d6080one-lov").value = ""; 
    document.getElementById("d6080one-hopt").value = ""; 
    document.getElementById("d6080one-minov").value = ""; 
    document.getElementById("d6080one-maxot").value = ""; 
    document.getElementById("d6080one-grade").value = ""; 
} 

D6080One.solve = function() { 
    var a, b, l1, l2, l3, lt, ltGrade, r, record, result, s, t750; 

    document.getElementById("d6080one-hot").value = document.getElementById("d6080one-hot").value.replace(/,/, "."); 
    document.getElementById("d6080one-lst").value = document.getElementById("d6080one-lst").value.replace(/,/, "."); 

    if(document.getElementById("d6080one-hot").value == "" || isNaN(document.getElementById("d6080one-hot").value)) { 
     alert("Please Choose a Highest Operating Temperature!"); 
     document.getElementById("d6080one-hot").value = ""; 
     document.getElementById("d6080one-hot").focus(); 
     return false; 
    } 
    if(document.getElementById("d6080one-lst").value == "" || isNaN(document.getElementById("d6080one-lst").value)) { 
     alert("Please Choose a Lowest Start-Up Temperature!"); 
     document.getElementById("d6080one-lst").value = ""; 
     document.getElementById("d6080one-lst").focus(); 
     return false; 
    } 

    for(var i = 0; i < nfpa.length; ++i) { 
     if(nfpa[i][0] == document.getElementById("d6080one-manu")[document.getElementById("d6080one-manu").selectedIndex].value 
       && nfpa[i][1] == document.getElementById("d6080one-equip")[document.getElementById("d6080one-equip").selectedIndex].value) { 
      record = nfpa[i]; 
      break; 
     } 
    } 
+0

"Peut-il y avoir une méthode pouvant appeler directement les méthodes données dans le fichier javascript ...?"? Voulez-vous dire s'il existe une façon plus structurée d'appeler les méthodes ci-dessus à partir d'un seul endroit/objet? –

+0

oui je veux appeler les méthodes dans le fichier js directement .. je ne veux pas écrire les méthodes à nouveau dans le programme objectif c ... ou toute autre méthode facile que cela ..? –

+0

Donc, vous voulez appeler cela d'obj-c? Une application native iOS? pas à partir d'un navigateur? –

Répondre

0

Enveloppez votre Javascript dans une petite page Web HTML. Placez ces fichiers HTML et Javascript dans votre ensemble d'applications et affichez-les dans une UIWebview masquée. Appelez votre fonction Javascript en utilisant la méthode stringByEvaluatingJavaScriptFromString de la vue web.