كيف أرفق بادئة كل كلمة رئيسية على تقديم من حقل الإدخال؟

StackOverflow https://stackoverflow.com/questions/801958

  •  03-07-2019
  •  | 
  •  

سؤال

ولدي حقل الإدخال والتي عندما يتم الضغط على مفتاح الإدخال (حيث لا يوجد مجال تقديم) أود جافا سكريبت لإضافة الطابع @ أمام كل كلمة رئيسية عند إرسال النموذج.

على سبيل المثال:

والنص سيتم إدخالها كما ...

المنزل، الشخصية، دعوة

ولكن هل القيمة التي يتم تقديمها يكون ...

Home،personal،call

وحتى الآن لدي:

$("#inputfield").keydown(function(e){
    if (e.keyCode == 13) {
        $("#inputfield") // Not sure what to add next
        .submit();
    }
هل كانت مفيدة؟

المحلول

وأنت سيكون لتقسيم قيمة الحقل في المساحات ثم قم بإضافة @ أمام كل قيمة مجموعة، ثم أضيف أن يعود إلى قيمة المدخلات. كما أوصي الاستماع لتقديم الحدث من النموذج بدلا من إدخال المفتاح في حقل الإدخال.

 $('#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
 });

نصائح أخرى

وهذا ينبغي أن تفعل خدعة:

$("#inputfield").keydown(function(e){
if (e.keyCode == 13) {
    $('#inputfield').val($('#inputfield').val().split(',').map(function(item) {
            return '@'+item;
         }).join(',')); 
    $(this).submit();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top