2016-08-09 18 views
0

私はウェブデザイナーではない、私はちょうどレガシープログラマーを置く何かに変更しようとしている。jQuery Strip空白

テキストフィールドの長さは最大10文字です。ソースはスペースを含むようにページの10文字のコードを変更しているため、顧客はこのコード(スペースを含む)をコピーして貼り付けていますこの14文字。

これは、人々が注意を払っていない(明らかに間違いではない)ため、切り詰められたコードを送信しています。

私はペーストの上にホワイトスペースを取り除くために、フォームに入力の上で置くためにいくつかのjQueryコードを見つけました:私はコピーすると

$(function() { 
 
    $('#dlc_code_txtbx0').bind('input', function() { 
 
    $(this).val(function(_, v) { 
 
     return v.replace(/\s+/g, ''); 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<!-- This is my form field --> 
 
<input type="text" id="dlc_code_txtbx0" name="dlc_code_txtbx0" 
 
     class="cen" size="20" maxlength="10" placeholder="yNGsstK" />

のAA BB CCのddを貼り付けますeeを入力すると、空白は削除されますが、文字は切り捨てられます。誰かが私を正しい方向に向けることができますか?

+0

あなたは10文字しか入力できません** aa bb cc d ** ...文字列入​​力を貼り付けると、最初の10文字しか使用できません... –

+1

@IvanKaraman上記のペーストのストリップ空白jQueryは、貼り付け前に空白を取り除いて、 '取り除いた'バージョンを10文字にする必要があります。それとも、それをフィールドに貼り付けることを前提にしていますか?それで、最初にペーストされたものだけを取り除くようにストリップしますか? – Lynchie

+0

@Lunchie uは、彼が削除よりスペースでのみ10文字を取る文字列... –

答えて

2

inputmaxlength属性のために、10個以上の文字を追加することはできません。あなたはその属性を削除したい場合、あなたはそのようなJavascriptを(jQueryの)内のテキストを切り捨てることができます。

$(function(){ 
    $('#dlc_code_txtbx0').bind('input', function(){ 
     $(this).val(function(_, v){ 
      var outputValue = v.replace(/\s+/g, ''); 
      return outputValue.substr(0, 10); // substr will truncate the final string 
     }); 
    }); 
}); 

substr() referenceを見てください。

+0

トップマンLuudJacobs :) – Lynchie

+0

np @Lynchie。それがあなたを助けたら答えを受け入れてください。 – LuudJacobs

+0

@GrégoireFruleuxは私のテストページで作業していますか?あなたが持つ複数の入力が必要な場合は、 '; – Lynchie