我已经为联系表单中的大多数输入项运行了一系列代码;为了代码行,我想让它作为一个函数运行。以下是该块的示例:
$('#country_code').blur(function() {
var countryCode = $('#country_code').val();
if(validateNumber(countryCode) == true) {
if(countryCode.lastIndexOf('+') != 0) {
countryCode = countryCode.replace('+', '');
$('#country_code').val('+' + countryCode);
}
}
else {
countryCode = '';
$('#country_code').val(countryCode);
}
});
我想创建一个如下函数:
function validateElements(elementName, variableName, validationFunction, indexValue, indexPosition) {
$(elementName).blur(function() {
var variableName = $(elementName).val();
if(validationFunction(variableName) == true) {
if(variableName.lastIndexOf(indexValue) != indexPosition) {
variableName = variableName.replace(indexValue, '');
$(elementName).val(indexValue + variableName);
}
}
else {
variableName = '';
$(elementname).val(variableName);
}
});
}
我在其中调用如下函数:
validateElements('#country_code', 'countryCode', 'validateNumber', '+', 0);
答案 0 :(得分:0)
尝试更改它,以便按以下方式调用您的函数:
validateElements($('#country_code'), 'countryCode', 'validateNumber', '+', 0);
改变你的职能:
function validateElements(obj, variableName, validationFunction, indexValue, indexPosition) {
obj.blur(function() {
var variableName = obj.val();
if(validationFunction(variableName) == true) {
if(variableName.lastIndexOf(indexValue) != indexPosition) {
variableName = variableName.replace(indexValue, '');
obj.val(indexValue + variableName);
}
}
else {
variableName = '';
obj.val(variableName);
}
});
}