Во второй версии вы передаете строку, возвращенную из this.id
.Не сам элемент.
Так что id.value
не даст вам то, что вы хотите.
Вам нужно будет передать элемент с this
.
doSomething(this)
then:
function(el){
var value = el.value;
...
}
Примечание. В некоторых браузерах второй будет работать, если вы это сделаете:
window[id].value
, поскольку идентификаторы элементов являются глобальным свойством, но это небезопасно .
Лучше всего просто передать элемент с this
, а не извлекать его снова с его идентификатором.