2015-08-27 1 views
0

Я создал надстройку javascript для Firefox, которая манипулирует буфером обмена и вставляет определенный текст в любое текстовое поле на веб-странице. На этой веб-странице у меня есть несколько текстовых полей с одинаковым идентификатором.Вставка в несколько текстовых полей одновременно

Теперь мне нужно вставить текст во все эти текстовые поля одновременно. Например, если я вставляю что-то в первое (или любое другое) текстовое поле, оно будет автоматически вставлено во все другие текстовые поля.

Я не нашел примеров или опытов с этим в Интернете. Поэтому я буду рад любым предложениям/решениям.

+0

# id должен быть уникальным. Вы можете попытаться добавить класс вместо этого, или если вы хотите заполнить все текстовые поля на странице, вы можете выбрать текс-боксы с помощью: 'document.querySelectorAll (« input: text »);' или даже лучше, используйте JQuery и используйте '$ ('input') 'для выбора всех входных элементов. – ArBro

ответ

0

Несколько текстовых полей? Принимая во внимание все из <input type="text" />, вы можете использовать:

// Select all the textboxes. 
textBoxes = document.querySelectorAll("input:text"); 
// Iterate each of them. 
for (i in textBoxes) { 
    // Add a value for each. 
    textBoxes[i].value = ''; 
} 
0

Вы можете применить класс на каждом входе.

<input class="myClass" type="text" id="selector"> 
    <input class="myClass" class="" type="text" id="selector"> 
    <input class="myClass" type="text" id="selector"> 
    <input class="myClass" type="text" id="selector"> 

    $('input').keyup(function() { 
     var key = this.value; 
     $('.myClass').val(key); 
    }); 

JSFiddle: http://jsfiddle.net/o8308q48/

0

Это работает на Firefox.

На каждом случае пасты, мы устанавливаем значение каждого входа в this.value (это относится ко входу, где было сделано событие паста)

var inputs = document.querySelectorAll('input, textarea'); 
for (var i = 0; i < inputs.length;i++){ 
    inputs[i].addEventListener("paste", function(){ 

     for (var j = 0; j < inputs.length;j++) 
      inputs[j].value = this.value; 
    }, false); 
} 

Вы также могли бы использовать событие KeyUp и контроль при «контрольный ключ» или «команда» в osx одновременно нажимается на «V», но при этом вы можете просто щелкнуть правой кнопкой мыши и нажать «вставить» в контекстное меню. С палитрой события вы обходите оба пути.

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

  • Нет связанных вопросов^_^