通过Onclick将Javascript变量传递给另一个函数

时间:2014-02-05 18:46:40

标签: javascript

这里的JavaScript新手....我需要调用一个传递两个变量的JavaScript函数。然后我需要通过onClick事件将这两个变量传递给另一个函数。这是一般的想法:

function FirstFunction(var1, var2) {
    // Using console.log to verify passed variables
    console.log(uid);
    console.log(accessToken); 
    $('#dialog-message').html('<div><button onclick="SecondFunction(var1, var2)">Submit</button></div>');
};

function SecondFunction(var1, var2) {
    // Using console.log to verify passed variables
    console.log(uid);
    console.log(accessToken); 
};

我无法看到var1&amp; secondFunction()中的var2。这有什么不对?

3 个答案:

答案 0 :(得分:1)

我原来的评论:

  

内联点击事件处理程序将在全局范围内进行评估,而不是在函数范围内进行评估。看起来您正在使用jQuery,因此请将其用于create the DOM elementsbind the event handler

这样,您可以避免整个问题(并且不必使用全局变量):

function FirstFunction(var1, var2) {
    var $button = $('<button />', {
        click: function() {
            SecondFunction(var1, var2);
        },
        text: 'Submit'
    });

    $('<div />').append($button).appendTo('#dialog-message');
}

因为现在事件处理程序是一个可以访问var1var2的闭包。

答案 1 :(得分:0)

试试这个

$('#dialog-message').html('<div><button onclick="SecondFunction('+ var1 + ','+ var2+ ')">Submit</button></div>');

答案 2 :(得分:0)

尝试

$('#dialog-message').html('<div><button onclick="SecondFunction(' + var1 +', ' + var2  + ' )>Submit</button></div>');