2013-09-24 80 views
8

PhoneGap> androidLàm cách nào để tôi có thể tạo trường văn bản html5 để hiển thị bảng số?

Tôi biết tôi có thể sử dụng type="number" để hiển thị các phím số nhưng vấn đề là tôi muốn để định dạng đầu vào như giá như các loại dùng trong. Vì vậy, nó sẽ được ở định dạng đô la và xu (như $343,23.50) và trường type="number" không cho phép khác với ký tự số.

Vì vậy, tôi muốn có một trường văn bản nhưng nó sẽ hiển thị số pad trên vòi. Có thể không?

Trả lời

3

Đối với Android, bạn thường cần type="number" để đặt mặc định thành bàn phím số. (Một số công việc xung quanh đó cho iPhone cho những gì nó có giá trị.) Bạn không thể hiển thị phi số trong một type="number" khi bạn gõ. Để hiển thị khi bạn nhập, bạn cần type="text" và sau đó bạn có thể sử dụng plugin hiện có như autoNumeric để định dạng khi bạn nhập nhưng sau đó bạn sẽ tiếp tục bị đẩy về mặc định với bàn phím không phải số, thường trên mọi phím nhấn.

Giải pháp khắc phục sự cố tốt nhất của bạn có thể là type="number" để chỉnh sửa và chuyển sang type="text" hoặc một số trường khác để hiển thị được định dạng khi trường không có tiêu điểm hoặc cùng một lúc. Và/hoặc, bạn có thể phát hiện xem trình duyệt có đang ở trên thiết bị có vấn đề về bàn phím mặc định hay không và nếu không, bạn có thể ở lại với type="text" và định dạng độc đáo như bạn thực hiện. Các cách giải quyết khác mà tôi đã thấy là các trình quay (không tốt cho các số lớn như thẻ tín dụng) hoặc các tiện ích con bằng bàn phím giả của riêng chúng.

Nếu không thích hợp để đề cập đến, gần đây tôi đã hoàn thành công việc trên một plugin type="number" để giúp giải quyết vấn đề về type="number" Android và đang đặt một trang web cùng nhau để chia sẻ nó. Vui lòng chuyển tiếp URL riêng tư cho bạn, (plugin có thể tải xuống và API được ghi lại chi tiết) nhưng tôi không muốn xuất bản trang web tại đây cho đến khi tôi hoàn thành việc đưa trang lên. Sẽ vui lòng quay lại và chỉnh sửa câu trả lời này khi nó sẵn sàng bao gồm URL.

+0

Đối với những gì nó có giá trị (hơi muộn bây giờ) - Tôi đã cuối cùng đặt một trang web lại với nhau cho loại của tôi = "number" plug-in mà có thể hữu ích để folks gặp phải vấn đề này: http: // www.numbox.org/ –

3

Đối với một giải pháp bao gồm tất cả, tôi nghĩ bạn sẽ không may mắn trừ khi bạn sử dụng type = "text" và sử dụng chức năng định dạng onchange. Tuy nhiên, bạn có thể sử dụng trường số như dưới đây sẽ cung cấp cho bạn hai chữ số thập phân của bạn và sau đó chỉ cần đặt ký hiệu đô la ở phía trước của trường nhập.

<div>$<input type="number" step="0.01"/></div> 
1

Vấn đề với type = "number" là nó không được mọi trình duyệt nhận ra.

Bạn có thể sử dụng mặt nạ nhập để định dạng bài đăng của mình.
Có một số plugin để thực hiện điều đó.
Đối với sự cố của bạn, maskMoney có vẻ phù hợp.

0

tôi bạn đang sử dụng jquery, Hãy thử điều này, tôi đã được mã hóa theo cách trên cách nhấp vào văn bản lĩnh vực nó sẽ hiển thị số-pad, Bạn có thể thay đổi lên đến nhu cầu của bạn

Code:

<input id="phone" placeholder="Phone Number" name="phoneno" type="tel" value="" ></input> 

Sử dụng thả xuống với các ký tự bắt buộc như đô la, số chỉ mục điện thoại +91 v.v.,

Example