我正在使用一个ID扫描程序作为键盘输入,我想要一个输入字段来监听值和子字符串(或切片)输出不必要的额外值。
目前,ID扫描器会格式化如下数字:; 708089113 = 0184?
我想只抓708089113.我想删除分号和3之后的所有内容。
我只是不确定如何自动执行此操作。在提交之前,剥离的值应出现在字段中。
使用Javascript:
var suid = document.getElementById("SUID").value;
var stripSUID = suid.substring(1,10);
document.getElementById("SUID").value = stripSUID;
HTML:
<input name="SUID" id="SUID" type="text" value="">
答案 0 :(得分:4)
您可以使用jQuery。
HTML:
<input name="suid" id="suid" type="text" value="">
JavaScript的:
$(function() {
$('#suid').change(function() {
var suid = $(this).val();
var stripSUID = suid.split('=');
var stringLength = stripSUID[0].length;
var returnValue = stripSUID[0].substr(1, stringLength);
$(this).val(returnValue);
});
});
jsFiddle更新:http://jsfiddle.net/jhjr288o/4/
答案 1 :(得分:2)
所以你要问如何收听 更改到<input>
?
var elm = document.getElementById('SUID');
elm.addEventListener('change', function (e) {
var s = this.value, i = s.indexOf('=');
if (i !== -1) {
s = s.slice(1, i);
this.value = s;
}
});
当元素失去焦点时,更改事件将触发
输入事件每次oldvalue !== newvalue
(即每个键入的字符)都会触发
另请注意,此代码必须在元素存在后运行,即等待 Window的加载事件