2013-07-31 57 views
0

如何訪問javascript函數中的某些對象數據?我想要做的就是從html文件中獲取一些輸入,然後如果輸入文本是===到我在javascript中的一個對象,我想從該對象訪問一些數據以在我的函數中使用。函數的Java腳本對象數據

例如:

我有2個文本輸入HTML表格和一個按鈕存取權限的功能。而在JavaScript文件中,我有兩個名爲bob和susan的對象,數據爲「bob.age = 25」和「susan.age = 30」。所以我想要一個計算bob.age + susan.age的函數。但我想在我的表單html中使用bob和susan的輸入。所以當我有輸入鮑伯和蘇珊:我想要的功能做bob.age + susan.age

這裏是我的HTML表單:

<form name="mmForm"> 
     <label for="element1">E1</label> 
     <input type="text" id="element1"> 
     <label for="element2">E2</label> 
     <input type="text" id="element2"> 
     <input type="button" value="Calculate" onclick="procesForm_mm()"> 
     <div id="resultfield_mm">Result:</div> 
    </form> 

這裏我javascript函數:

function procesForm_mm() { 
var e1 = document.mmForm.element1.value; 

var e2 = document.mmForm.element2.value; 

result_mm = parseInt(e1) + parseInt(e2); 

document.getElementById("resultfield_mm").innerHTML += result_mm; 
} 

,這是我想進入電影中的數據:

var Fe = new Object(); 
Fe.denumire = "Fier"; 
Fe.A = 56; 
Fe.Z = 26; 
Fe.grupa = "VIIIB"; 
Fe.perioada = 4; 
+4

這個問題不清楚,也許不完整。 –

+0

你的問題並不清楚,你需要更加精確地確定你想達到的目標。你目前有什麼代碼?就比較對象中的值和文本字段中的值而言,只要對象是全局對象或將其作爲參數傳遞到所述函數中,您就可以進行計算/比較 –

+0

我剛剛添加了我的curent代碼。希望你現在明白。 –

回答

0

嘗試(猜測涉及的很多)這樣的:

function procesForm_mm() { 
    var e1 = document.mmForm.element1.value; 
    var e2 = document.mmForm.element2.value; 
    result_mm = parseInt(eval(e1).A) + parseInt(eval(e2).A); 
    document.getElementById("resultfield_mm").innerHTML += result_mm; 
} 

var Fe = new Object(); 
Fe.denumire = "Fier"; 
Fe.A = 56; 
Fe.Z = 26; 
Fe.grupa = "VIIIB"; 
Fe.perioada = 4; 

var Co = new Object(); 
Co.denumire = "Cobalt"; 
Co.A = 59; 
Co.Z = 27; 
Co.grupa = "IXB"; 
Fe.perioada = 4; 

看到它在這裏工作:http://jsfiddle.net/KJdMQ/

請務必記住,使用JS eval函數有一些缺點:https://stackoverflow.com/a/86580/674700

一個更好的辦法是讓你的JS對象的數組,並避免使用eval功能:

function procesForm_mm() { 
    var e1 = document.mmForm.element1.value; 
    var e2 = document.mmForm.element2.value; 
    result_mm = parseInt(tabelPeriodic[e1].A) + parseInt(tabelPeriodic[e2].A); 
    document.getElementById("resultfield_mm").innerHTML += result_mm; 
} 
var tabelPeriodic = []; 

tabelPeriodic["Fe"] = new Object(); 
tabelPeriodic["Co"] = new Object(); 

var el = tabelPeriodic["Fe"]; 
el.denumire = "Fier"; 
el.A = 56; 
el.Z = 26; 
el.grupa = "VIIIB"; 
el.perioada = 4; 

el = tabelPeriodic["Co"]; 
el.denumire = "Cobalt"; 
el.A = 59; 
el.Z = 27; 
el.grupa = "IXB"; 
el.perioada = 4; 

(見它的工作here

注:這看起來像一個化學應用中,我認爲該形式應該爲化學元素添加一些化學性質值(即A可能是標準原子量)。該表單將輸入JS對象的名稱(FeCo)。

+0

是的,那正是我所尋找的。 PS:Mersi frumos! Sper sa-mi fii de ajutor pe viitor:D –