2010-07-12 153 views
0

其實我想把url和id從一個fn到另一個這個方法是否可行。在另一個函數中調用一個參數?

function addElement(url, id) { 
    alert(url); 
    var main = document.getElementById('mainwidget'); 
    main.innerHTML = "<iframe src=" + url + " align='left' height='1060px' width='576px' scrolling='no' frameborder='0' id='lodex'></iframe>"; 
    alert("google"); 
    addUrl(url, id); 
} 
function add() { 
    addUrl(url, id) 
    alert("id" + id); 
    document.getElementById("Listsample").innerHTML = "<a href='#' onclick='addUrl(" + url + ");' id='cricket' tabindex='1' name='cricket'>" + id + "</a>"; 
} 
+0

沒有怎麼寫,它這是不行的。 – 2010-07-12 05:15:43

+3

問題是什麼? – 2010-07-12 05:15:45

+0

你能清理這段代碼,只包含與你的問題相關的部分嗎?否則很難猜測你的問題是什麼。另外,你在哪裏添加? – nas 2010-07-12 06:52:16

回答

1

你需要以某種方式共享信息,因爲variables僅可在其功能的scope。最簡單的方法是定義全局變量。

var url, id; // global 

function addElement(_url, _id) { 
    url = _url; 
    id = _id; 
    alert(url); 
    var main = document.getElementById('mainwidget'); 
    main.innerHTML = "<iframe>...</iframe>"; 
    alert("google"); 
    addUrl(url, id); 
}, 

function add() { 
    addUrl(url, id) 
    alert("id" + id); 
    document.getElementById("Listsample").innerHTML = "<a>...</a>"; 
} 

請注意,它們不需要是全局的。你可以用這個模塊到自己的scope

(function() { 

/// code goes here 

})(); 

或者你也可以組織整個代碼到一個對象(encapsulation)。

var addy = { 

    url: null, 
    id: null, 

    addElement: function(url, id) { 
     this.url = url; 
     this.id = id; 
     alert(url); 
     var main = document.getElementById('mainwidget'); 
     main.innerHTML = "<iframe>...</iframe>"; 
     alert("google"); 
     addUrl(url, id); 
    }, 

    add: function() { 
     addUrl(this.url, this.id); 
     alert("id" + this.id); 
     document.getElementById("Listsample").innerHTML = "<a>...</a>"; 
    } 
}; 

相關問題