42

以下のコードは HTML フォームからのものです。入力が整数であると想定されている場合、「型」を変更する必要がありますか?

<div class="friend2title">
    <label for="url">Add points:</label>
</div> 
<div class="friend2field">
    <input name="state" type="text" id="state" maxlength="150">
</div>
4

8 に答える 8

43
<input type="number" step="1" ...

属性を追加することstepで、入力を整数に制限します。

もちろん、サーバー上でも常に検証する必要があります。慎重に管理された状況下を除き、クライアントから受け取ったものはすべて疑わしいものとして扱う必要があります。

于 2015-11-02T15:53:01.797 に答える
22

HTML5 を使用している場合は、入力タイプを使用する必要がありますnumber。xhtml または html 4 を使用している場合、入力タイプは にする必要がありますtext

于 2012-07-02T23:09:09.683 に答える
3

HTML5 より前は、input type="text"は単に自由なテキストを挿入するためのフィールドを意味します。これは、ユーザーが有効な番号を入力したことを保証するために行う必要がある検証の仕事です。

HTML5 を使用している場合は、新しい入力タイプを使用できます。そのうちの 1 つは、テキスト入力を自動的に検証し、強制的に数値にする数値です

ただし、サーバー側のアプリ (たとえば php) を構築している場合は、html をハックして変更するのは非常に簡単なので、その側で入力を検証する必要があることに注意してください (実際に数値であることを確認してください)。入力タイプ、ブラウザー検証の削除

于 2012-07-02T23:12:48.603 に答える
0

いいえ、入力のデータ型に関するものではありません。作成するコントロールのタイプを指定します:

type = text|password|checkbox|radio|submit|reset|file|hidden|image|button [CI] この属性は、作成するコントロールのタイプを指定します。この属性のデフォルト値は「テキスト」です。

于 2012-07-02T23:11:40.287 に答える
-8

入力に数値を受け入れたい場合でも、text型を使用することをお勧めします。

<input type="text" name"some-number" />

クライアント側でいくつかの jQuery 検証を実行して、数値であることを確認します。

次に、サーバー側のコードで検証を実行して、実際に数値であることを確認します。

于 2012-07-02T23:13:46.463 に答える