为什么我不能发送带有onchange的值?

Why can't I send the value wit the onchange?

本文关键字:onchange 的值 不能 为什么      更新时间:2023-09-26
function myFunction(ID) {
    var fileSelector = $('<input onchange="javascript:testFunction(' + ID + ',' + this.value  +')" type="file" />');
    fileSelector.click();
}

我对testFunction的调用是正确的ID,但this.value的"未定义"

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

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

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

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

我认为你想要实现的是简单地从this.value中删除代码。我确实按照你的要求写了下面正确的代码:

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