为什么我不能通过onchange发送价值?

时间:2015-09-15 20:49:45

标签: javascript

function myFunction(ID) {
    var fileSelector = $('<input onchange="javascript:testFunction(' + ID + ',' + this.value  +')" type="file" />');
    fileSelector.click();
}

我对testFunction的调用是使用正确的ID,但是&#34;未定义&#34; for this.value

我想要的只是传递输入现在具有onchange事件的值。为什么不可能?

2 个答案:

答案 0 :(得分:1)

我认为你想要实现的只是从this.value中删除代码。我确实在下面写了正确的代码以满足您的要求:

var fileSelector = 
     $('<input onchange="javascript:testFunction(' + ID + ', this.value)" type="file" />');

答案 1 :(得分:1)

this函数中的myFunction关键字是window对象。你不想要那个。

事实上,您希望在HTML中使用this.value,因此您不需要插入字符串。

function myFunction(ID) {
    var fileSelector = $('<input onchange="javascript:testFunction(' + ID + ', this.value)" type="file" />');
    fileSelector.click();
}