2013-01-16 37 views
16

tôi không thể tìm ra cách để xác định một giá trị bước và một độ chính xác đến một đầu vào [số]Html5 bước số đầu vào và độ chính xác

1.01 được coi là không hợp lệ cho đến khi tôi chỉ định một bước 0.01. Nhưng trong trường hợp đó tôi không thể chỉ định một bước cụ thể.

Vấn đề tương tự với số lượng lớn. Nếu tôi chỉ định một bước 1000 và loại dùng 1001 giá trị được coi là không hợp lệ ...

Bạn có thể có một cái nhìn vào đó example

+1

không hợp lý? Tôi không quen thuộc với spec, nhưng có vẻ như rõ ràng rằng chỉ những con số là bội số của bước mới hợp lệ. Bạn đang hy vọng hành vi nào? – hobberwickey

+0

Đầu tiên tôi muốn sử dụng xác thực HTML5. - Tôi cũng muốn cho phép tăng giá trị của đầu vào số với số lượng lớn. Nhưng cũng thiết lập các tùy chỉnh (không phải là bội số của [bước]). Xác thực HTML5 đặt đầu vào của tôi là: không hợp lệ khi tôi đặt số không phải là bội số của [bước]. –

+0

Tôi có cùng một vấn đề khi sử dụng 'step = .01' nhưng một số hoàn toàn hợp lệ cho tôi là '1.00001' để nó hiển thị dưới dạng': invalid'. Bạn đã bao giờ tìm thấy một công việc xung quanh? – chovy

Trả lời

2

Hãy nhìn vào các Definition and Usage của thuộc tính step:

Thuộc tính bước chỉ định khoảng thời gian pháp lý cho yếu tố .

Sau khi hết thời gian, số đó là bất hợp pháp.

Hãy thử sử dụng mã Javascript để chăm sóc nhu cầu của bạn.

+0

Mã Javascript sẽ không giúp tôi. Khi tôi đặt giá trị không nhiều của [bước], đầu vào sẽ được gắn cờ là: không hợp lệ –

+2

bạn sẽ phải viết mã xác thực tùy chỉnh của riêng mình sau đó sử dụng javascript. Bạn không thể làm cho HTML hoạt động theo cách mà nó không hoạt động. – hobberwickey

18

Tôi đoán bạn muốn tắt xác thực bước. Nếu vậy, step="any" sẽ hoạt động.

+1

Nhưng trong trường hợp đó tôi bị mất chức năng bước ... –

+0

Bạn có thể thêm giao diện người dùng bước của riêng mình. –

+1

giới hạn buồn của html5 :( – brauliobo

7

Bạn có thể chỉ cần xác định đúng bước và giá trị ban đầu phù hợp với mục đích của bạn.

Vai trò của thuộc tính value không được giải thích đầy đủ trong tài liệu thuộc tính stephttp://www.w3schools.com/tags/att_input_step.asp.

Trong mục nhập đầu tiên trong ví dụ của bạn, các thuộc tính được đặt thành value = 1.01step = 1 (giá trị mặc định). Dữ liệu nhập sẽ chấp nhận các giá trị sau: 1.01 + 1n. trong đó n là một giá trị số nguyên. Ví dụ về các giá trị được chấp nhận là: 1,01, 2,01, 3,01, v.v., cũng như -0,99, -1,99 -1,99, v.v.

Theo nguyên tắc chung, các giá trị được chấp nhận sẽ là:

value + step * n

đâu n \in \mathbb{Z}.

Bạn có thể có ý tưởng về giá trị được chấp nhận bằng cách sử dụng các phím mũi tên LÊN/XUỐNG khi đầu vào được lấy nét.

Như được đề xuất trong các câu trả lời trước, step="any" sẽ vô hiệu xác thực bước, nó sẽ không tắt chức năng bước (step sẽ mặc định là 1), nhưng sẽ yêu cầu thực hiện xác thực bước bằng tay.

Các vấn đề liên quan