2016-04-14 7 views
2

は私がbuttonをクリックした場合、私は2ページに移動し、2ページに、私は編集ボタンを持っているこのHTMLJavaScriptが特定の文字を数えないようにする方法はありますか?ページ1で

<input value="creditCard" name="creditCard" maxlength="16"> 
<input value="name" name="name" maxlength="4"> 
<input type="button" name="submit"> 

DISPLAY: 

1234567891234568 

Name 

button 

を持っています。私はeditをクリックすると、たとえば、私はcreditCard入力してからname入力をクリックした場合、私はマスクされたフォーム

DISPLAY: 

XXXX-XXXX-XXXX-4568 

Name 

button 

でのクレジットカードで再び1ページに転送されます、表示が次のようになります。

DISPLAY: 

XXXX-XXXX-XXXX-4 

Name 

button 

" - "を追加して以来、それは文字としてカウントされ、maxlengthは16なので、入力の値は16文字にトリムされます。

" - "をカウントするキャラクターと見なさない方法はありますか?私は入力のmaxlength属性を調整することができません。それはビジネスルールです。どうもありがとうございました!

+0

、長さ '= ccnumber.replace(/ -/gで、 '')でlenさ-''なし.LENGTHを; ' –

+0

あなたはより多くを持つことができません入力の最大文字数よりも大きくなります。正しい書式が入力されている限り、より多くの文字を許可するビジネスルールを変更するか、ハイフンを許可しないでください。 – nnnnnn

答えて

0

このコード内で解決できることを願っています。正確に何をしたい不明瞭

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 

 
<form id="myForm"> 
 
<input type="text" size="4" tabindex="1" maxlength="4" onkeyup="myFunction(this,this.value)"> - 
 
<input type="text" size="4" tabindex="2" maxlength="4" onkeyup="myFunction(this,this.value)"> - 
 
<input type="text" size="4" tabindex="3" maxlength="4" onkeyup="myFunction(this,this.value)"> 
 
</form> 
 

 
<script> 
 
function myFunction(x, y) { 
 
    if (y.length == x.maxLength) { 
 
     var next = x.tabIndex; 
 
     if (next < document.getElementById("myForm").length) { 
 
      document.getElementById("myForm").elements[next].focus(); 
 
     } 
 
    } 
 
} 
 
</script> 
 

 
</body> 
 
</html>

関連する問題