Я пытаюсь клонировать форму перед отправкой в JavaScript, используя cloneNode. Исходная форма имеет ответ для выбранного значения, но не для клонированного. Ниже приведен код.
encodeHTMLCollectionToBase64(document.forms['formen']).submit();
function encodeHTMLCollectionToBase64(form) {
encryptedForm = form.cloneNode(true)
Array.from(encryptedForm).forEach(function(item) {
if (item.childElementCount > 0) {
for(var i=0;i < item.childElementCount;i++) {
item[i].value = btoa(encodeURIComponent(item[i].value));
}
}
else {
item.value = btoa(encodeURIComponent(item.value));
}
});
encryptedForm.style.visibility = 'hidden';
document.body.appendChild(encryptedForm);
return encryptedForm ;
}
При проверке я обнаружил, что зашифрованная форма (клонированная форма) имеет пустое значение для одного элемента выбора, но оно есть в форме (исходная форма). Почему это?
Я делаю что-то не так здесь?