2013-11-09 65 views
0

每当我从另一个函数创建的函数中获取值时,我都会收到'undefined'错误。从函数返回的值是未定义的javascript

无论何时paste()执行,我想获得粘贴的文本的值,并显示文本时onclick()被激活。

我在onclick()事件期间得到undefined错误。请有人看看它。

$("input").on({ 
    'paste': function(e) { 

    //get pasted text 
    var text = somefunction(e); 
    getval(text); 
} }); 

function getval(text) { 
    return text; 
} 

$(function() { 
$(document).on('click','#submit', function() { 
    text = getval(); 
    console.log(text); 
} }); 
+0

你听说过'return'的? –

回答

0

您正在定义这样的功能:

function getval(text) { 
    return text; 
} 

但是当你一会儿再打吧,你不传递任何参数的函数:

text = getval(); 

所以它是由于没有定义text,因此不返回任何内容。

你可以这样做:

$(function() { 

$("input").on({ 
    'paste': function(e) { 

    //get pasted text 
    var text = somefunction(e); 
} }); 


$(document).on('click','#submit', function() { 
    console.log(text); 
}); 
}); 
+0

你能解释更多,我不明白。我知道我失去了一些东西,但我无法弄清楚。 – bobbyjones

+0

答复已更新。 – Manolo

+0

那么我如何传递参数?我错过了一些语法?我还需要添加什么来传递参数? – bobbyjones

0

您需要通过在以下地方GETVAL()函数文本值 “缺少参数这里”:

$(function() { 
    $(document).on('click', '#submit', function() { 
     text = getval("Missing parameter here"); 
     console.log(text); 
    } 
    });