2013-06-18 10 views
7

タイプ番号のフィールドへの書き込みを無効にする、文字列データを避ける、数字だけを書き込む、スクロールバーのみを有効にする方法は?入力タイプ番号の書き込みを無効にするHTML5

<form> 
<input type="number" path="note" min="1" max="20"/> 
</form> 
+0

二人は、私は私がやりたいことは、タイプ番号の入力は明らかである同じことを考えています数値データのみを許可してスクロールバーのみを有効にする – Somar

+0

あなたは単に 'readonly'属性を使用できませんか?タイプ番号 –

+0

@Souad '入力タイプ番号HTML5での書き込みを無効にする'の場合にサポートされています。あなたの質問の見出しを誤解を招くように変更する必要があります。 – NetStarter

答えて

19

jQueryの使用を許可または許可されている場合は、type='number'keypressを無効にすることができます。

$("[type='number']").keypress(function (evt) { 
    evt.preventDefault(); 
}); 

これにより、入力に上下矢印を使用できますが、キーボード入力は許可されません。

+0

はい!それが私が探しているものです。ありがとうございました – Somar

+0

13時から変更された何か、キーの押下が機能しないDelete and Backspace、すべてのユーザーが値を削除します。 –

-1

まず、マークアップが間違っています。う(W3Schoolsから)

<input type="number" name="my_number" min="0" max="100" step="1" value="50"/> 

<form name="my_form"> 
    <input ...code... 
    <input ...code... 
</form> 

あなたはHTML5を使用して番号を入力したい場合は第二に、あなたがこれを使用することができます:フォームタグは、inputタグを囲む必要があります現在のブラウザの「数字」入力の実装は様々であることを認識しています。

この値は、JavaScriptを使用して参照するか、フォームを使用して転記してください。

+0

...「スクロールバー」については、どういう意味ですか? – TheTurkey

+0

フォーム:入力は正しいバネタグです。お返事ありがとう – Somar

+0

ちょうどコメント.. W3Schoolsを信用しないでください... http://w3fools.com/ –

0

いいえスクロールせずに、数字の増分は指定せず、最大長を指定して、コピーを貼り付けません。

下記のフィドルを確認してください。フィドルは、タイプ番号フォームのフィールドに必要な機能を備えています。

HTML

<form class="form-horizontal home" role="form" action="" method="post" id="payment-form" novalidate="novalidate"> 
<label for="number">Mobile number : </label> 
<input class="form-control" id="number" name="number" type="number" data-rule-required="true" aria-required="true" oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" onKeyDown="if(this.value.length==10 && event.keyCode!=8) return false;"> 
</form> 

CSS

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
} 

DEMO - JSFIDDLE

関連する問題