所以我已经在javascript中输入了我无法弄清楚如何只使用数字输入,我尝试使用数字类型,只有当我用字母加注时才能工作,但是当我从数字开始然后添加字母时,那么它将字母留在inputfield中,因此输入的容器是:
var td = document.createElement("td");
var input = document.createElement("input");
input.type = "number";
input.name = "//retseptid/retsept[" + count + "]/doos";
input.id = "prescription_" + count + "_dosage";
input.value = UTF8Decode(prescription.doos);
input.className = "txt_left";
input.style.width = "52px";
if(prescriptionContainerIsDisabled) {
input.disabled = true;
}
else {
addChangeListener(input);
}
td.appendChild(input);
td.appendChild(document.createTextNode(" "));
我想,我不能使用onkeypress
这是结果,而且必须只允许输入数字的字段
答案 0 :(得分:1)
您可以创建一个功能来检查它是否为数字并在输入的onkeypress
事件中调用该功能:
function isNumber(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
{
window.alert("Your entry must be numeric!");
return false;
}
return true;
}
尝试此操作来定义您的onkeyup
事件。请注意没有"
。
input.onkeyup = function(evt) {return isNumber(evt);};
答案 1 :(得分:0)
所以对我来说最重要的是功能:
Job
我打电话给它:
function isNumber()
{
this.value = this.value.replace(/,/g, '.');
this.value = this.value.replace(/^\./, "0.");
this.value = this.value.replace(/[^0-9\.]/g, '');
var match = this.value.match(/\d*\.\d*/);
if (match)
this.value = match[0];
}