2010-07-12 152 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>"; 
    } 
}; 

相关问题