2016-03-22 3 views
0

Например, у меня есть код ниже, где я пытаюсь интерпретировать только любого символа, введенного в текстовое поле, как первый элемент из моих массивовOfCharacters. Подобные работы, однако, при вводе второго символа, не работают. Мне было интересно, есть ли у кого-то идея, почему это не работает. Благодаря!Измените значение символа, введенного в текстовое поле

let arrayOfCharacters = ["‛¯¯٭٭¯¯(▫▫)¯¯٭٭¯¯", "=^..^="] 

document.getElementById("input-area").onkeypress = function(evt) { 
    let val = this.value 
    //Transform the typed characters 
    this.value = val + arrayOfCharacters[0] 
} 
+0

Вы устанавливая целое значение, равное первому элементу этого массива каждый раз. Это не изменяет только самое последнее значение, оно изменяет * все значение *. –

+1

Спасибо Матиасу! Это было глупо со мной! Я исправил его, добавив значение моего массива в текущее значение текстового поля. –

ответ

0

Это работает:

var arrayOfCharacters = ["‛¯¯٭٭¯¯(▫▫)¯¯٭٭¯¯", "=^..^="] 
var totalValues = 0; 
document.getElementById("input-area").onkeypress = function(evt) { 
    evt.preventDefault(); 
    var val = this.value 
    //Transform the typed characters 

    // notice totalValues variable 
    this.value += arrayOfCharacters[totalValues]; 
    totalValues++; 
} 

Пример:

https://jsfiddle.net/pn8h4rqt/

Смежные вопросы