在验证输入值时,我仍然停留在这里。如果该值在0.4
和0.9
之间,则输入n2
将删除只读。另一方面,如果值小于0.4
或大于0.9
,则会显示模式对话框。我的问题是如果用户输入的值不是十进制值,则要验证值/长度?假设用户插入值1,然后是我的jquery
不会触发,因为我的长度是>=3
..如果我把长度检查放在> 1
上,那么当用户键入十进制值(例如0.5
)时,模式对话框
将会弹出3次。.由于我的长度值为>= 3
..如果我取消了长度检查,只要用户键入的值长度超过一个,它就会一直弹出模态对话框。
我的问题是,如果有效范围值介于0.4
至0.9
之间,同时又可以检查非十进制值,该如何控制这种情况?有可能吗?
<input type="text" class="form-control input-sm da" name="da" id="da" value="" autocomplete="off" />
<div class="form-group actionDiv" style="display:none">
<label for="cdaaction">action </label>
<input type="text" class="form-control input-sm cdaaction" name="cdaaction" id="cdaaction" value="" />
</div>
<input type="text" class="form-control input-sm n2" name="n2" id="n2" value="" autocomplete="off" readonly />
$(document).ready(function() {
$(".da").keyup(function() {
var dInput = $(this).val();
if ($('.da').val().length >= 3)
{
if(dInput < 0.4 || dInput > 0.9)
{
var mymodal = $('#mi-modal');
mymodal.find('.modal-body').html('Is the value correct: '+ $('.da').val() +' ?');
mymodal.find('.modal-footer').html('<button type="button" class="btn btn-default" id="modal-btn-si">Yes</button><button type="button" class="btn btn-primary" id="modal-btn-no">No</button>');
$("#mi-modal").modal('show');
$("#modal-btn-si").on("click",function(){
$("#mi-modal").modal('hide');
$('.actionDiv').show();
});
$("#modal-btn-no").on("click",function(){
$("#mi-modal").modal('hide');
$('.actionDiv').hide();
$("#da").focus();
});
$(".n2").attr('readonly',true);
}
else
{
$(".n2").removeAttr("readonly");
$('.actionDiv').hide();
}
}
});
});