Javascript函数集数据重用
谢谢你来帮忙。我想不出更好的题目来回答这个问题。但是请帮我做这个 我有多个输入字段。输入1、输入2、输入3和输入4。下面的函数是input1和input2。我想检查输入数据是否是一个数字,也要检查它是否是粘贴的。和**inputValue1和inputValue2**是我要检查和更改的变量Javascript函数集数据重用,javascript,function,Javascript,Function,谢谢你来帮忙。我想不出更好的题目来回答这个问题。但是请帮我做这个 我有多个输入字段。输入1、输入2、输入3和输入4。下面的函数是input1和input2。我想检查输入数据是否是一个数字,也要检查它是否是粘贴的。和**inputValue1和inputValue2**是我要检查和更改的变量 input1: function (e) { if (Math.abs(e.detail.value.length - this.data.inputValue1.length) != 1) {
input1: function (e) {
if (Math.abs(e.detail.value.length - this.data.inputValue1.length) != 1) {
this.setData({
inputValue1: ''
})
return ''
} else {
let reg = /^[0-9]*$/
if (!reg.test(e.detail.value)) {
this.setData({
inputValue1: ''
})
return ''
} else {
this.setData({
inputValue1:e.detail.value
})
}
}
},
input2: function (e) {
if (Math.abs(e.detail.value.length - this.data.inputValue2.length) != 1) {
this.setData({
inputValue2: ''
})
return ''
} else {
let reg = /^[0-9]*$/
if (!reg.test(e.detail.value)) {
this.setData({
inputValue2: ''
})
return ''
} else {
this.setData({
inputValue2:e.detail.value
})
}
}
},
因为代码很长,我想重用它,而不是硬编码。这是我的方法
checkInput:function(INPUT) {
if (Math.abs(e.detail.value.length - this.data.INPUT.length) != 1) {
this.setData({
INPUT: ''
})
return ''
} else {
let reg = /^[0-9]*$/
if (!reg.test(e.detail.value)) {
this.setData({
INPUT: ''
})
return ''
} else {
this.setData({
INPUT:e.detail.value
})
}
}
},
那么我想用这个
input1: function (e) {
this.checkInput(inputValue1)
},
input2: function (e) {
this.checkInput(inputValue2)
},
input3: function (e) {
this.checkInput(inputValue3)
}
当我尝试这些时,它显示了
ReferenceError:未定义inputValue1
然后我尝试了另一种方法
input1: function (e) {
this.checkInput(this.data.inputValue1)
},
这一次显示,
ReferenceError:未定义e
致以最诚挚的问候您的意思是您不想复制和粘贴,以及您遇到了什么错误?@UdenduAbasili感谢您的评论。我更新了问题。希望这能进一步澄清这个问题。