我想创建一个测试函数来更改'。'将字符转换为文本框中的“,”字符。我无法更改服务器端,因为它是google doc。 '56 .3'被认为是数字,但'56,3'是(!)。
假设我使用了以下代码:
function changeValue(e) {
e = window.event || e;
var keyCode = e.charCode || e.keyCode;
if (String.fromCharCode(keyCode)==='.') {
event.target.value+=",";
return false;
}
return true;
}
function start_up () {
console.log('Start');
var tmp = document.getElementById('ss-form');
tmp = tmp.getElementsByTagName('input');
console.log(tmp);
for(var i=0; i<tmp.length; i++) {
tmp[i].addEventListener('keypress',changeValue, false);
console.log(i, tmp[i]);
}
};
window.addEventListener("load",start_up, false);
然后问题是','和'。被添加到该字段。如何取消“。”按下事件?如何替换“。”按事件,按','按事件?
我已经搜索了Internet,但没有使用'addEventListener'函数找到解决方案。
使用e.preventDefault()
应该这样做。
我有一个jsFiddle演示放在一起:http://jsfiddle.net/yrYH4/
可能是因为您要从事件处理程序返回true。
您可以使用event.preventDefault
或return false
防止采取默认操作-您从处理程序的内部if语句返回false,然后从主函数返回true。