在复选框的onchange事件上调用此函数。 当检查,即接收者详细信息与发送者详细信息相同时,接收者输入被分配发送者输入的值并被禁用。 如果未选中,即不相同的细节,接收器输入将被启用并清空。
function () {
if (inputArr.sameReciever.checked) {
inputArr.receiverName.value = inputArr.senderName.value;
inputArr.receiverPhone.value = inputArr.senderPhone.value;
inputArr.receiverEmail.value = inputArr.senderEmail.value;
inputArr.receiverName.setAttribute("disabled","true");
inputArr.receiverPhone.setAttribute("disabled","true");
inputArr.receiverEmail.setAttribute("disabled","true");
}else{
inputArr.receiverName.value = "";
inputArr.receiverPhone.value = "";
inputArr.receiverEmail.value = "";
inputArr.receiverName.removeAttribute("disabled");
inputArr.receiverPhone.removeAttribute("disabled");
inputArr.receiverEmail.removeAttribute("disabled");
}
});
答案 0 :(得分:1)
我不确定这是不是你要找的东西。但我会继续这样的事情:
var attributesMap = {
receiverName: 'senderName',
receiverPhone: 'senderPhone',
receiverEmail: 'senderEmail'
};
function fn() {
for (var key in attributesMap) {
if (inputArr.sameReciever.checked) {
inputArr[key].value = inputArr[attributesMap[key]].value;
inputArr[key].setAttribute("disabled","true");
} else {
inputArr[key].value = '';
inputArr[key].removeAttribute("disabled");
}
}
}
这种方式更易于维护。
如果你可以使用最近的javascript(ES6),你可以添加多项改进。