Как мне прикрепить префикс к каждому ключевому слову при отправке поля ввода? - PullRequest
1 голос
/ 29 апреля 2009

У меня есть поле ввода, которое при нажатии клавиши ввода (так как поле отправки отсутствует), я хотел бы, чтобы javascript добавлял символ @ перед каждым ключевым словом при отправке формы.

Например:

Текст будет введен как ...

дом, личный, звонок

Но представленное значение будет ...

@ home, @personal, @ call

Пока у меня есть:

$("#inputfield").keydown(function(e){
    if (e.keyCode == 13) {
        $("#inputfield") // Not sure what to add next
        .submit();
    }

Ответы [ 2 ]

2 голосов
/ 29 апреля 2009

Это должно сработать:

$("#inputfield").keydown(function(e){
if (e.keyCode == 13) {
    $('#inputfield').val($('#inputfield').val().split(',').map(function(item) {
            return '@'+item;
         }).join(',')); 
    $(this).submit();
}
1 голос
/ 29 апреля 2009

Вам придется разделить значение поля на пробелы, а затем добавить @ перед каждым значением массива, а затем добавить его обратно в качестве значения для ввода. Также я рекомендую прослушивать событие отправки формы вместо клавиши ввода в поле ввода.

 $('#form').submit( function() {
   var words = $('#inputfield').val().split(' ');
   var newwords = new Array();
   for(i=0, x=words.length; i<x; i++){
    newwords.push('@'+words[i]);
   }
   $('#inputfield').val( newwords.join(' ') );
   //we do not return false because we want the form to submit
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...