使用'getElementsByname',但它对我没有帮助。我做错了什么? “isAllowedSymbol”功能很好但不是“checkNumbers”。
function checkNumbers(this) {
var element = document.getElementsByname('answer')[0];
if (element != null && element.value.length == 10) {
element = element.replace(element, '');
}
}
function isAllowedSymbol(input) {
var value = input.value;
var rep = /[a-zA-Z]/;
var rep2 = /[а-яА-Я]/;
if (rep.test(value)) {
value = value.replace(rep, '');
input.value = value;
if (rep2.test(value)) {
value = value.replace(rep2, '');
input.value = value;
}
}
}
<input type="text" maxlength="10" onkeyup="isAllowedSymbol(this);checkNumbers(this); " placeholder="Enter data" name="answer" "> <br>
我想通过名字而不是身份证,我的问题是什么?或者我可以通过“id”获得它?谢谢。
答案 0 :(得分:0)
首先你拼错了getElementsByname
。它的正确名称是getElementsByName
。此功能允许您通过元素名称检索元素。如果您要选择input
属性为name
的{{1}}元素,请使用:
answer
答案 1 :(得分:0)
您不能接受"this"
作为参数的原因因为它是意外的令牌还错误@ getElementsByname
。但是当您从this
发送click-handler
时,您不需要这样做。您可以使用除this
function checkNumbers(element) {
if (element != null && element.value.length == 10) {
element = element.replace(element, '');
}
}
function isAllowedSymbol(input) {
var value = input.value;
var rep = /[a-zA-Z]/;
var rep2 = /[а-яА-Я]/;
if (rep.test(value)) {
value = value.replace(rep, '');
input.value = value;
if (rep2.test(value)) {
value = value.replace(rep2, '');
input.value = value;
}
}
}
<input type="text" maxlength="10" onkeyup="isAllowedSymbol(this);checkNumbers(this); " placeholder="Enter data" name="answer">