입력 필드 제출시 각 키워드에 접두사를 어떻게 첨부합니까?

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

  •  03-07-2019
  •  | 
  •  

문제

입력 필드가 있습니다. Enter 키가 눌렀을 때 (제출 필드가 없으므로) 양식이 제출 될 때 각 키워드의 @ 문자를 추가하도록 JavaScript를 원합니다.

예를 들어:

텍스트는 다음과 같이 입력됩니다.

집, 개인, 전화

그러나 제출 된 가치는 ...

@home, @personal, @call

지금까지 나는 다음과 같습니다.

$("#inputfield").keydown(function(e){
    if (e.keyCode == 13) {
        $("#inputfield") // Not sure what to add next
        .submit();
    }
도움이 되었습니까?

해결책

공간에서 필드 값을 분할 한 다음 각 배열 값의 @을 추가 한 다음 입력 값으로 다시 추가해야합니다. 또한 입력 필드의 Enter 키 대신 양식 제출 이벤트를 듣는 것이 좋습니다.

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