Как комментарий @Devsi Odedra, вы должны разобрать значение в число, чтобы можно было сравнивать вместо сравнения строки.
$('#total').keypress(function(event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1)
&& (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
function validate() {
var total = parseFloat($('#total').val());
var limit = 1000;
if(total > limit) {
alert('numbers cannot exceed the limit');
return false;
} else {
// submit
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="total"></input> and submit button <input type="submit" value="Submit" onclick="validate()">
Обновлено
Вы должны подтвердить, чтобы разрешить ввод только числа с плавающей точкой, как этот
$('#total').keypress(function(event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});