2

入力タグに表示する文字を制限するにはどうすればよいですか? サーバーからこの形式で時刻を取得しています: hh:mm:ss、この形式で何かを表示したいのですhh:mmが、それを取得する方法はありますか?
クロムのmaxlength、sizeで試しましたが、取得できません..

<input id="timetable_start" name="start" type="text" value="07:31:00" maxlength=5 pattern="^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" size=5>

http://jsfiddle.net/8FtAX/

4

3 に答える 3

3

受信データを制御できない場合は、javascript を使用して目的を示すことができます。jquery + timeentry.js を使用すると、簡単に実行でき、より多くの機能を利用できます。

$(function () {
    $("#timetable_start").timeEntry({show24Hours: true});
});

ここで試してください:http://jsfiddle.net/cespinoza/e3anw/10/

于 2013-04-23T14:56:09.240 に答える
1

それは働いています。

以下から初期値を変更してみてください。

value="07:31:00"

に:

value="07:31"
于 2013-04-22T22:47:59.277 に答える
0

実際には、サーバー側でデータを処理する必要があります (たとえば、文字列を特定の長さに切り詰めるなど)。これにより、HTML ドキュメント内のデータが表示したいものになります。しかし、これが不可能な場合は、size属性を使用してテキスト入力ボックスの表示幅を文字で指定し(試したように) フォントをモノスペースに設定できます。

size="5" style="font-family: Consolas, Lucida Console, monospace"

inputタグに追加されました。ポイントは、「文字の (平均的な) 幅」は等幅フォントを除いて明確な意味を持たず、ブラウザーは伝統的に、等幅sizeフォントを除いてかなり異なる方法で属性を実装するということです。

ただし、フォーム データは、送信時に送信され、クライアント側のスクリプトで使用でき、pattern属性をサポートしているかどうかをブラウザーで確認したときに、最初はvalue属性に配置したもののままであることに注意してください。したがって、ユーザーはこれを推測して、「見えない」部分を削除する必要があります。これはユーザビリティの悪夢のようです。

于 2013-04-23T04:51:11.520 に答える