Tôi cần thêm hai số đầu vào của người dùng. Để làm điều đó, tôi tạo hai trường đầu vào, lấy các giá trị từ chúng, sử dụng .val(), trong hai biến riêng biệt và sau đó thêm chúng. Vấn đề là các chuỗi được thêm vào chứ không phải các số. Ví dụ: 2 + 3 trở thành 23 và không 5. hãy đề nghị làm gì, ngoại trừ sử dụng type = number trong hộp nhập liệu.Giá trị số của đầu vào số của người dùng trong trường văn bản
Trả lời
Bạn có thể sử dụng parseInt (...)
Ví dụ:
var num = parseInt("2", 10) + parseInt("3", 10);
// num == 5
Điều gì xảy ra nếu người dùng nhập '2.5'? Thậm chí nếu bạn cho rằng chỉ có các số nguyên được phép, vui lòng không đề xuất 'parseInt()' mà không sử dụng tham số thứ hai để chỉ định cơ sở 10 với 'parseInt (" 2 ", 10)', vì nếu không, nếu người dùng nhập số 0 đứng đầu (ví dụ: "077") có thể (tùy thuộc vào trình duyệt) được coi là bát phân; nếu người dùng nhập "0x" hàng đầu, nó sẽ được coi là thập lục phân. – nnnnnn
Sử dụng parseInt
để chuyển đổi một chuỗi thành một số:
var a = '2';
var b = '3';
var sum = parseInt(a,10) + parseInt(b,10);
console.log(sum); /* 5 */
Hãy ghi nhớ rằng parseInt(str, rad)
sẽ chỉ làm việc nếu str
thực sự chứa một số cơ sở rad
, vì vậy nếu bạn muốn cho phép các căn cứ khác bạn sẽ cần kiểm tra chúng theo cách thủ công. Cũng lưu ý rằng bạn sẽ cần sử dụng parseFloat
nếu bạn muốn nhiều hơn số nguyên.
Hoặc sử dụng parseInt (http://www.w3schools.com/jsref/jsref_parseint.asp) hoặc parseFloat (http : //www.w3schools.com/jsref/jsref_parsefloat.asp) để chuyển đổi thành giá trị số trước khi thêm.
PS: Đây là câu trả lời đơn giản. Bạn có thể muốn làm một số xác nhận/stripping/cắt tỉa, vv
Số() là chức năng bạn muốn "123a" trả về NAN
parseInt() truncates trailing chữ "123a" trả 123
<input type="text" id="txtFld" onblur="if(!Number(this.value)){alert('not a number');}" />
- 1. Bắt giá trị của đầu vào văn bản HTML
- 2. Lấy giá trị của một số HTML5 đầu vào
- 3. Chuyển đổi đầu vào của Người dùng thành số nguyên
- 4. Nối trường văn bản đầu vào với giá trị của div
- 5. jQuery. Nhận giá trị của trường nhập văn bản vào sự kiện nhấp vào nút?
- 6. đặt giá trị var từ giá trị trường đầu vào
- 7. Thêm một chuỗi văn bản vào một trường nhập khi người dùng nhấp vào một nút
- 8. Phát hiện "giá trị" của trường nhập văn bản sau sự kiện keydown trong trường văn bản?
- 9. Cách đếm số lượng giá trị duy nhất của một trường trong tệp văn bản được phân tách bằng tab?
- 10. Căn chỉnh đường cơ sở của nhãn trường với đường cơ sở của văn bản trong đầu vào văn bản
- 11. Tại sao văn bản đầu vào bị ẩn của tôi: giá trị = "giá trị" thay vì đúng/sai?
- 12. Cách phân tích cú pháp đầu vào của người dùng từ dòng văn bản theo dòng
- 13. trường văn bản Mã như trong số
- 14. C# tắt hộp kiểm dựa trên giá trị đầu vào người dùng hộp văn bản thời gian chạy
- 15. Nhận các giá trị đầu vào từ hộp văn bản
- 16. Cách đợi đầu vào trong trường văn bản?
- 17. Không gian in hoặc tab C++ được cung cấp số nguyên đầu vào của người dùng
- 18. CSS để ẩn giá trị đầu vào nút văn bản
- 19. Đầu vào của người dùng trong một hộp thoại MessageDialog
- 20. Nhận giá trị của trường người dùng tùy chỉnh trong mẫu Drupal 7?
- 21. C# đợi người dùng gõ xong vào ô văn bản
- 22. Vệ sinh đầu vào của người dùng trong laravel
- 23. Bộ chọn jQuery nơi văn bản = một số giá trị
- 24. Tôi làm cách nào để cập nhật giá trị của văn bản đầu vào qua ajax?
- 25. Máy tính Java thêm số vào trường văn bản
- 26. Python: đầu vào của người dùng và đối số dòng lệnh
- 27. Remove giá trị của đầu vào sử dụng jQuery
- 28. WPF Datepicker để tắt đầu vào của người dùng
- 29. Ngăn không cho trình chỉnh sửa ngày tháng của giao diện người dùng jQuery thay đổi giá trị của trường văn bản nếu nằm ngoài phạm vi
- 30. Thay đổi giá trị của đầu vào văn bản bằng css?
thể trùng lặp của [Javascript để chuyển đổi chuỗi số?] (http://stackoverflow.com/questions/2130454/javascript-to-convert-st ring-to-number) –