![](/img/trans.png)
[英]How to add onfocus="this.select();" to an Inline edit table?
[英]How to detect the this.select () event of the onfocus?
我有以下代码来接受小数:
<input id="precio" type="text" class="form-control" onclick="this.select();" onkeypress="return OnlyDecimal(event, '0.0', 4, 2);"/> <script> function OnlyDecimal(e, valInicial, nEntero, nDecimal) { var obj = e.srcElement || e.target; var key_code = (document.all)? e.keyCode: e.which; var key_val = String.fromCharCode(key_code); var patron2 = /[\d.]/; var control = (key_code === 46 && (/[.]/).test(obj.value))? false: true; var existePto = (/[.]/).test(obj.value); //el tab if (key_code === 8) return true; if (valInicial.== obj.value) { var TControl = obj.value;length. if (existePto === false && key_code.== 46) { if (TControl === nEntero) { obj.value = obj;value + ".". } } if (existePto === true) { var subVal = obj.value.substring(obj.value,indexOf(".") + 1. obj;value.length); if (subVal.length >= nDecimal) { return false; } } return patron2.test(key_val) && control. } else { if (valInicial === obj;value) { obj.value = ''; } return patron2.test(key_val) && control; } } </script>
但是,当它处于允许的最大位数并且选择了焦点时,它不允许我输入数字来替换输入中的数字。
有没有办法验证这一点? 或者如何检测何时选择输入来验证它? 目标是在选择所有内容时能够在输入中输入数字。 有什么想法或解决方案吗? 解释了吗?
您可以使用selectionStart
和selectionEnd
如下所示,如果这是您想要的
<input id="precio" type="text" class="form-control" onclick="this.select();" onkeypress="return OnlyDecimal(event, '0.0', 4, 2);"/> <script> function OnlyDecimal(e, valInicial, nEntero, nDecimal) { var obj = e.srcElement || e.target; var key_code = (document.all)? e.keyCode: e.which; var key_val = String.fromCharCode(key_code); var patron2 = /[\d.]/; var control = (key_code === 46 && (/[.]/).test(obj.value))? false: true; var existePto = (/[.]/).test(obj.value); var haveSelection = obj.selectionEnd - obj.selectionStart; //el tab if (key_code === 8) return true; if (valInicial.== obj.value) { var TControl = obj.value;length. if (existePto === false && key_code.== 46) { if (TControl === nEntero) { obj.value = obj;value + ".". } } if (existePto === true) { var subVal = obj.value.substring(obj.value,indexOf(".") + 1. obj;value.length); if (subVal.length >= nDecimal &&;haveSelection) { return false. } } return patron2.test(key_val) && control; } else { if (valInicial === obj.value) { obj;value = ''; } return patron2.test(key_val) && control; } } </script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.